Well, I had a great idea for a mod... only problem is that I suck at Java. Oh, don't get me wrong, I can generally look at an error message and tell you what went wrong and generally where, but that's about the limit of what I can do with Java. And, unfortunately, this is going to be a LOT of complex java coding.
The idea was... well, I got the idea from Mellianaire, only working within the system rather than building up a foreign one which has... issues. Code the vanilla (and mod-added) villagers with a more complex AI. Give them actual jobs which they can perform. Most of them wouldn't require more complex AI than, say, a TC3 Golem. The 'farmer' villager, for example, would be no more complex than a 'brainy straw golem' which harvests and re-plants and re-tills their crops.
In some ways, this would almost be like making villager 'Turtles'. They would run on food for their 'fuel'. Therefore, farmers would harvest and re-plant crops, and deposit it in the 'town hall'. When villagers get hungry, they go to the town hall for food. Town hall would likely have on staff a 'trader' which has access to any of the products made in surplus by the village, a 'baker' who turns the raw food items into food (for example, would turn wheat into bread, cook potatoes into baked potatoes).
I had an idea for the following villager 'types':
Also, to prevent exploitation of the system:
The idea was... well, I got the idea from Mellianaire, only working within the system rather than building up a foreign one which has... issues. Code the vanilla (and mod-added) villagers with a more complex AI. Give them actual jobs which they can perform. Most of them wouldn't require more complex AI than, say, a TC3 Golem. The 'farmer' villager, for example, would be no more complex than a 'brainy straw golem' which harvests and re-plants and re-tills their crops.
In some ways, this would almost be like making villager 'Turtles'. They would run on food for their 'fuel'. Therefore, farmers would harvest and re-plant crops, and deposit it in the 'town hall'. When villagers get hungry, they go to the town hall for food. Town hall would likely have on staff a 'trader' which has access to any of the products made in surplus by the village, a 'baker' who turns the raw food items into food (for example, would turn wheat into bread, cook potatoes into baked potatoes).
I had an idea for the following villager 'types':
- Farmer - harvests and re-plants farms, and also expands them to their largest capacity (i.e. 4 blocks on either side).
- Smith - smelts ores, turns ores into equipment. Can also build vanilla Iron Golem for city defense.
- Baker - makes food items out of raw materials
- Builder - creates new structures, upgrades old ones, makes sure that there are well-maintained paths between buildings
- Lumberjack - Plants and collects trees for wood, apples, and saplings
- Guard - attacks hostile mobs within city limits. Will equip himself with gear from the Smith.
- Rancher - will breed and slaughter animals, bringing resultant products to the town center
- Leader - This is the guy that players interact with. Buy/sell items with a better GUI. Player might also be able to teach new concepts, which then are dispersed among the village.
- Beekeper - re-breeds bees when they expire, also occasionally makes new frames. Giving him a supply of various materials might enable him to make better items, the resultant combs might also end up 'for sale'.
- Thaumcraft - Given access to Scribing Materials, can eventually produce a small quantity of Knowledge Fragments. Given access to Alembics, a Crucible, and some Phials, he might start experimenting and have some essences to put into the community storage for sale.
- Mystcraft - Given access to books, feathers, and other materials, he might start discovering various symbols which would be for sale.
Also, to prevent exploitation of the system:
- Villagers use 'locked chests' which cannot be crafted and are useless to players. Basically, it's similar to the IC2 personal safe, in that only the person who 'owns' the chest can access the inventory, but only a Villager can 'own' a locked chest. Also, when broken, it returns nothing, and all items contained therein are destroyed.
- Any items which can have an ownership flag are 'locked' to the villagers, meaning the player is not allowed to interact with them in any meaningful way.
- Taking items, breaking important blocks, or otherwise 'griefing' the village will incur their wrath, and they will treat you as 'hostile'. Including any Iron Golems they have hanging around, similar to Zombie Pigmen. Also similar to Zombie Pigmen, they stay mad with you for long periods of time.
- Tweak village spawn locations so that they only spawn in a relatively flat area. Basically, if there is more than a deviation of 5 on the Y axis, village can't spawn there.
- Relatively flat village, with a layer of cobblestone as the 'foundation' for the town so that you don't have gravel falling down things like ravines. Also makes it easier to get pathing proper.
- Swamp villages are still possible, the village is just built on stilts, with cobblestone foundation for the gravel pathways.