Giter Club home page Giter Club logo

civcraft's Introduction

MineTexas CivilizationCraft Minecraft Plugin Fork

CivilizationCraft is a massive, server side Minecraft modification written for Bukkit. In CivilizationCraft, players band together to construct camps, towns, and civilizations which go on to research technology, engage in diplomacy, build wonders, and fight for world dominance.

This fork of Civcraft is used by the MineTexas CivilizationCraft Minecraft Server: http://www.minetexas.com/minecraft-civcraft-server.html

Compiled versions of this plugin can be downloaded from our website: http://www.minetexas.com/minecraft-civcraft-download.html

Installation Instructions

See INSTALL.txt

Credits

AvRGaming LLC

  • Netizen539 (Ryan Jones) Plugin Programmer, Game Designer
  • Robosnail (Adam Osness) Game Designer, Template Artist
  • Precurssor (Fletcher Almond) Template Artist
  • DrDibble (Eli Osness) Template Artist

MineTexas.com

  • Ataranlen (Nathan Stoltenberg) Plugin Programmer

Additional Contributors

The community at http://civilizationcraft.net/

A special thanks to HighlifeTTU and LazerTester from the ShotBow Network at http://shotbow.net.

civcraft's People

Contributors

ataranlen avatar benjamingogurts avatar c1vcraftf1xer avatar dynamicbits avatar l12436 avatar megamichiel avatar netizen539 avatar the-gunny avatar yourcoal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

civcraft's Issues

1.8-dev enchanting issue

I have the option enabled for xp drops and enchanting enabled, when putting a enchant book and a pickaxe into a anvil, I cannot enchant the pickaxe, it just goes back into the anvil

Connect error

[16:02:43 INFO]: [CivCraft] ========= Initializing SQL =========
[16:02:43 INFO]: [CivCraft] Using yobo_local as database.
[16:02:43 INFO]: [CivCraft] Building Connection Pool for GAME database.
[16:02:43 ERROR]: Error occurred while enabling CivCraft v2.1-REBORN (Is it up to date?)
java.lang.NoClassDefFoundError: com/jolbox/bonecp/BoneCPConfig
at com.avrgaming.civcraft.database.ConnectionPool.(ConnectionPool.java:36) ~[?:?]
at com.avrgaming.civcraft.database.SQL.initialize(SQL.java:97) ~[?:?]
at com.avrgaming.civcraft.main.CivCraft.onEnable(CivCraft.java:248) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[Civka.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [Civka.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [Civka.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [Civka.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [Civka.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [Civka.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [Civka.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [Civka.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [Civka.jar:git-Spigot-db6de12-18fbb24]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [Civka.jar:git-Spigot-db6de12-18fbb24]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: com.jolbox.bonecp.BoneCPConfig
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_111]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[Civka.jar:git-Spigot-db6de12-18fbb24]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[Civka.jar:git-Spigot-db6de12-18fbb24]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_111]
... 14 more
[16:02:43 INFO]: [dynmap-civcraft] Enabling dynmap-civcraft v1.0
[16:02:43 INFO]: CIVCRAFT DYNMAP ENABLING
[16:02:43 INFO]: Using update peroid:12000
[16:02:43 INFO]: Server permissions file permissions.yml is empty, ignoring it
[16:02:43 INFO]: Done (6,879s)! For help, type "help" or "?"
[16:02:43 INFO]: [dynmap] Loading default resource pack
[16:02:45 INFO]: CIVCRAFT-DYNMAP: Running update!
[16:02:45 INFO]: CIVCRAFT-DYNMAP: Update finished.
[16:02:46 WARN]: [AutoSaveWorld] Plugin ChatEx attempted to establish connection https://api.curseforge.com/servermods/files?projectIds=65863 in main server thread
[16:02:46 WARN]: [AutoSaveWorld] Plugin ChatEx attempted to establish connection socket://api.curseforge.com:443 in main server thread
[16:02:46 INFO]: [ChatEx] There is no new version available. You are up-to-date!

Mine Inventory not ticking

[12:00:05] [Craft Scheduler Thread - 168/WARN]: org.apache.commons.lang.UnhandledException: Plugin CivCraft v1.8.0 generated an exception while executing task 56551
    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: Asynchronous entity track!
    at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:14)
    at net.minecraft.server.v1_10_R1.EntityTracker.addEntity(EntityTracker.java:104)
    at net.minecraft.server.v1_10_R1.EntityTracker.track(EntityTracker.java:80)
    at net.minecraft.server.v1_10_R1.WorldManager.a(WorldManager.java:19)
    at net.minecraft.server.v1_10_R1.World.b(World.java:1028)
    at net.minecraft.server.v1_10_R1.WorldServer.b(WorldServer.java:1122)
    at net.minecraft.server.v1_10_R1.WorldServer.a(WorldServer.java:1087)
    at net.minecraft.server.v1_10_R1.Chunk.addEntities(Chunk.java:753)
    at org.bukkit.craftbukkit.v1_10_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:45)
    at org.bukkit.craftbukkit.v1_10_R1.chunkio.ChunkIOProvider.callStage2(ChunkIOProvider.java:1)
    at org.bukkit.craftbukkit.v1_10_R1.util.AsynchronousExecutor.skipQueue(AsynchronousExecutor.java:337)
    at org.bukkit.craftbukkit.v1_10_R1.util.AsynchronousExecutor.getSkipQueue(AsynchronousExecutor.java:295)
    at org.bukkit.craftbukkit.v1_10_R1.chunkio.ChunkIOExecutor.syncChunkLoad(ChunkIOExecutor.java:16)
    at net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:136)
    at net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:119)
    at net.minecraft.server.v1_10_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:115)
    at net.minecraft.server.v1_10_R1.World.getChunkAt(World.java:329)
    at net.minecraft.server.v1_10_R1.World.getChunkAtWorldCoords(World.java:325)
    at net.minecraft.server.v1_10_R1.World.getType(World.java:753)
    at net.minecraft.server.v1_10_R1.World.updateAdjacentComparators(World.java:3064)
    at net.minecraft.server.v1_10_R1.TileEntity.update(TileEntity.java:120)
    at net.minecraft.server.v1_10_R1.TileEntityChest.setItem(TileEntityChest.java:93)
    at org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory.setItem(CraftInventory.java:88)
    at org.bukkit.craftbukkit.v1_10_R1.inventory.CraftInventory.setContents(CraftInventory.java:82)
    at com.avrgaming.civcraft.util.MultiInventory.removeItemFromInventory(MultiInventory.java:110)
    at com.avrgaming.civcraft.util.MultiInventory.removeItem(MultiInventory.java:199)
    at com.avrgaming.civcraft.util.MultiInventory.removeItem(MultiInventory.java:221)
    at com.avrgaming.civcraft.components.ConsumeLevelComponent.consumeFromInventory(ConsumeLevelComponent.java:372)
    at com.avrgaming.civcraft.components.ConsumeLevelComponent.processConsumption(ConsumeLevelComponent.java:390)
    at com.avrgaming.civcraft.structure.Mine.consume(Mine.java:104)
    at com.avrgaming.civcraft.structure.Mine.process_mine(Mine.java:110)
    at com.avrgaming.civcraft.threading.timers.EffectEventTimer.processTick(EffectEventTimer.java:93)
    at com.avrgaming.civcraft.threading.timers.EffectEventTimer.run(EffectEventTimer.java:183)
    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71)
    at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
    ... 3 more

Resident Trading is broken

When confirming a trade, the items shown to both players don't show properly. The trade will also never go through.

Rivendell - camp not set as spawn

Hi, I have a camp. Every time I die I end up at spawn. I've used the /sethome command and it says that "Home is set to the current location" and the /home works fine. But on death, I go back to spawn. Any ideas? Thanks.

Suggestion: Add ally chat

We should have access to an ally chat. Its quite annoying chatting with allied civilizations when your enemies are on the server, as you have to message multiple people using /msg.

I suggest adding /ac in addition to /tc and /cc

Items not stacking properly

When picking up items that I have some of a stack in inventory the items don't stack to that stack I have, they either go into a new stack in inventory or in hotbar. Also when trying to craft multiples of something, most of the items go back into inventory and just leave 1 set of items in crafting table.

Template question

How to add new group of templates?I added other styles in the other groups, but do not understand how to make a new group for them, where they add?
2016-10-30_18-16-38

sorry for stupid question :(

At war with not existing civ

Here's what i did to end the war:
*Bought a inactive civ I was at war with using /civ buy TheNewBloodCivilization
*Started a disband town on BloodCap using: /civ disbandtown BloodCap
*Selected control and made an alt member using /town select BloodCap and /town add BrandonKilledU
*Claimed mayor as the alt using /town claimmayor
*Replied to the town disband on the alt, now being mayor using /town disbandtown, got this weird reply on the alts side:

image
And this on my side:
image

At this point the town was officially disbanded, it doesnt exist anymore, nor does the civ

And according to /civ dip wars I am still at war:

image

Beetroots

for v1.9+ you need to make bonemeal disabled on beetroots in BlockListener.java, and you should also add them to windmills too.

also for CivData.java, since you need to add in the ID for the beetroot crop, and I remember it being hard for me to find, I give this to you:

public static final int BEETROOT_CROP = 207;

Hooking into Vault-based economy plugins

I would love it if you can hook civcraft into vault-based economy plugins like essentials and Money Drop plugins for those who don't use the XP as Currency option

Quarry dupe

Hello dear Ataranlen. Need a little help, if you're not busy. I copied the quarry as there was dupe in it. I can not understand why it does not remove the pickaxes, although their durability is spelled out.
I tryied fix it with deleting remove/add actions, but it works, but while stack has 1 dura it not deleting, but adding resources to chest
if (damage < 131) { if (stack.getDurability() >= 2) { stack.setDurability(damage); } else { try { this.updateInventory(Action.REMOVE, source_inv, stack); } catch (InterruptedException e) { return; } } }

Not all temples work.

Certain templates of temples will always stagnate, even if you have enough mutton in the chest.

Confirmed on aztec template.

Broken Settler

went to place down my settler followed all the steps and when i went to accept it into my civ it said to contact a admin.

Cannot drink potions

When drinking a fire resistance 3 min pot (which should be enabled) while having the tech, you're receiving a message named "You cannot use this type of potion."

setShiny() for materials not showing

As of 1.11, the NBT data in getShiny() to set an item's glowing effect broke, so the T1-T4 fish from materials.yml are no longer having their glowing effect around them.

https://github.com/ataranlen/civcraft/blob/1.8-dev/civcraft/src/gpl/AttributeUtil.java

public void setShiny() 

		if (nmsStack == null) {
			return;
		}
		
    	if (nmsStack.getTag() == null) {
    		nmsStack.setTag(new NBTTagCompound());
    	}
    	
    	NBTTagCompound enchCompound = nmsStack.getTag().getCompound("ench");
    	if (enchCompound == null) {
    		enchCompound = new NBTTagCompound();
    	}
    	
    	enchCompound.setShort("id", (short) 62); //Enchant id 62 = Lure
    	enchCompound.setShort("lvl", (short)1);
    	
    	nmsStack.getTag().set("ench", enchCompound);
    	this.setHideFlag(1);
	}

https://github.com/ataranlen/civcraft/blob/1.8-dev/civcraft/src/com/avrgaming/civcraft/lorestorage/LoreMaterial.java#L187

Quarry bug

The quarry is usung only wooden pickaxes, even if upgrade bought.

Founding a Civ or town with a name that already exists throws an unreadable exception in game.

Just need to handle this error condition and send a reasonable message back to the user.

[06:36:53] [Server thread/WARN]: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'Mirendar' for key 'name'
[06:36:53] [Server thread/WARN]:    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[06:36:53] [Server thread/WARN]:    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[06:36:53] [Server thread/WARN]:    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[06:36:53] [Server thread/WARN]:    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.Util.getInstance(Util.java:382)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2626)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2111)
[06:36:53] [Server thread/WARN]:    at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1362)
[06:36:53] [Server thread/WARN]:    at com.jolbox.bonecp.PreparedStatementHandle.execute(PreparedStatementHandle.java:140)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.database.SQL.insertNow(SQL.java:510)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.database.SQL.updateNamedObject(SQL.java:388)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.object.Town.saveNow(Town.java:345)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.object.Town.newTown(Town.java:939)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.object.Civilization.newCiv(Civilization.java:588)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.threading.tasks.FoundCivSync.run(FoundCivSync.java:49)
[06:36:53] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
[06:36:53] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
[06:36:53] [Server thread/WARN]:    at java.lang.Thread.run(Thread.java:745)
[06:36:53] [Server thread/WARN]: com.avrgaming.civcraft.exception.CivException: Internal Database Exception, Contact an Admin
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.object.Town.newTown(Town.java:1019)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.object.Civilization.newCiv(Civilization.java:588)
[06:36:53] [Server thread/WARN]:    at com.avrgaming.civcraft.threading.tasks.FoundCivSync.run(FoundCivSync.java:49)
[06:36:53] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftTask.run(CraftTask.java:71)
[06:36:53] [Server thread/WARN]:    at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:723)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654)
[06:36:53] [Server thread/WARN]:    at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557)
[06:36:53] [Server thread/WARN]:    at java.lang.Thread.run(Thread.java:745)

Civcraft Guide Book Redesign

@ataranlen Would you like me to redesign the Guide Book? its a little, ok its really old style, I would like to freshen it up, since im not a plugin dev, all I can really do is redesign it in-game and then send you the pictures on here with the new design.

Player Message... Thing

I am unable to check my code because I am at Disney World, but I noticed some messages aren't sent to players through Minechat. I think it only counts for players and not residents, since I receive some but not civ or town messages. If anyone is unable to find a fix, I can check when I get off vacation.

Plains give +1500 growth and can be considered "op"

In the structure.yml farms have a 15 bonus growth on plain, but plains give 1500 bonus growth instead.
That's because in FarmChunk you have (Line 241 and 251 respectively) :

effectiveGrowthRate = (double)this.town.getGrowth().total / (double)100;
effectiveGrowthRate += ab.getValue(); ///// + 15

So you take your town growth, let's say 1000, you divide it by 100 and end up with 10. However, if you are in a plain you add 15. So 15 is like 1500 town's growth, which means having a plain in a 1 growth town is like getting +1500 growth directly.

Slimefun Compatablilty

Now that the XP Currency toggle is in, could you by chance add a compatibility for Slimefun, so that any Slimefun Armor or weapons can't be used until the tech is learned

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.