Shulker's Faithful Factories (Previously Cobbler)
This mod is not meant to fundamentally change the experience of vanilla minecraft, but rather to compliment it by opening up the possibilities of creating more farms and making more resources renewable. It should ultimately keep the same spirit of the vanilla game, but add more things for the more technical players to do. Some semi-automatically farmable items will be given methods to be fully automatic, and some non-renewable resources will only be given semi-afkable farming methods depending on the usefulness of the resource.
Read before installing this mod for MC 1.16 through 1.16.3 (1.16.4 is safe)
Mojang introduced a bug in 1.16 which affects all mods which add structures. If a structure is removed (usually by uninstalling the mod, rarely by updating) or renamed (by the mod dev), it is possible to corrupt your worlds upon loading. Please back up your worlds before opening them with any mods which add structures in 1.16-1.16.3, before updating any mods with structures in 1.16-1.16.3, and never remove any structure mod in 1.16-1.16.3 unless you have backups of the world and preferably a plan to fix any corrupted chunks. See MC-194811 on Mojang's bug tracker for more details.
If you are a modpack maker and wish to include this mod or any other mod which adds structures in your modpack for 1.16-1.16.3, I ask you to please include a warning on your modpack page, either by copying the above text or writing a similar warning in your own words. I really don't want to be responsible for anyone not knowing about this bug and losing their worlds which they have worked so hard on.
The good news is that Forge has released a fix for the issue in Forge version 35.1.0 (for MC 1.16.4+). You can view the PR here for detailed information. My understanding is that it should remove the partially-generated corrupted chunks when they are loaded and then saved, so it may be possible to fix existing worlds by updating, but you may still be unable to do so if your world needs mods which are not in 1.16.4 yet.
The 1.16.3 1.16.4 update is here at last!
SFF now runs on Minecraft versions 1.16.3 and 1.16.4! Version 1.6 brings new pieces to shulker factories, and the possibility of branching paths. It is currently a beta version since there are still some generation issues caused by the branching paths, however the spawner tower will always generate correctly and there are no known compatibility issues, so don't let the fact that it's marked as a beta version scare you away!
Finished Features
Shulker Factories
Test your might by taking on shulker factories - an extremely rare structure from a long forgotten civilization which created the shulkers. And once the defenses are taken care of, use their factory to add to your collection of shulker boxes!
v1.0:
Added Shulker Factories - a new heavily guarded structure which generates at ~1/10th the rate of end cities, but has several items of interest to a redstoner including:
- -Dragon Eggs (rare)
- -Shulkers (both the type that shoots at you, and the type with randomly generated loot!)
- -Redstone components
- -Loot from the End City loot table
- -Enchanted elytras (rare)
- -Traps
- -Lore. Sort of. There's no written text, but it's there.
- ....and most importantly....
-A shulker spawner!
Version 1.3
Added the End Explorer Map to End City Chests! By default, each chest in an end city has a 1/5 chance of containing a map to a Shulker Factory, so you no longer have to change the config or spend hours flying about The End to find one of these rare structures. Also, a number of config options were added so just about everything in the mod can be disabled or tweaked. Not everyone has the same set of mods installed, so now you can customize everything to fit in better with the mods you like.
Version 1.2
Shulker Factories are now even larger than before! Improved generation code prevents them from growing into unloaded chunks and being cut off by preferring pieces that bring it back to the starting chunk the farther away it grows. It can also attempt to fit in a few more pieces before increasing in height, meaning that it's denser with rooms to explore and shulkers to put your newfound loot in!
Version 1.1 is here!
Version 1.1 brings a number of improvements to the shulker factory structure:
- Added a restaurant to The End. Generates rarely, averaging one per shulker factory.
- Added two ruined variants of the bridges. 2/5ths of bridge segments generate as a ruined variant.
- Added bridges which do not increase in height, several variant shulker placements for it, and a ruined variant.
- Added more potions to dispenser traps to account for observers firing on generation.
- Added reinforced support variant
- Increased chance of towers not being the ruined variant
In the spoiler tab below is an example of the valuable loot taken from a speed-raid on a shulker factory. The loottable is "cobbler:chests/shulker_factory_loot", so if you wish to tweak it or add your mod's loot to the loot table, you can edit it as you would any other loot table; no programming necessary! Below I have also included a formatted version of the loot table. If you are planning on playing the mod, I recommend exploring a factory and finding out what it contains for yourself as the items left in the factory tell a story about it's inhabitants, but I have included the list in case you wish to tweak the balance of the mod. Keep in mind that by default the factories spawn, on average, 200 chunks apart; about 1/10th as commonly as end cities.
A version of the full loot table edited to be more human-readable is below.
"weight": 10,
"name": "minecraft:chorus_fruit",
"min": 7,
"max": 24
"weight": 2,
"name": "minecraft:chests/end_city_treasure",
"min": 5
"weight": 1,
"name": "minecraft:piston",
"min": 1,
"max": 10
"weight": 1,
"name": "minecraft:redstone",
"min": 10,
"max": 64
"weight": 2,
"name": "minecraft:sticky_piston",
"min": 1,
"max": 5
"weight": 1,
"name": "minecraft:comparator",
"min": 4,
"max": 12
"weight": 7,
"name": "minecraft:purpur_block",
"min": 12,
"max": 42
"weight": 5,
"name": "minecraft:end_rod",
"min": 3,
"max": 8
"weight": 1,
"name": "minecraft:observer",
"min": 1,
"max": 4
"weight": 1,
"name": "minecraft:repeater",
"min": 3,
"max": 12
"weight": 1,
"name": "minecraft:redstone_torch",
"min": 12,
"max": 32
"weight": 1,
"name": "minecraft:redstone_lamp",
"min": 3,
"max": 12
"weight": 1,
"name": "minecraft:purple_bed",
"weight": 5,
"name": "minecraft:dispenser",
"min": 4,
"max": 14
"weight": 3,
"name": "minecraft:tripwire_hook",
"min": 1,
"max": 2
"weight": 3,
"name": "minecraft:magenta_stained_glass_pane",
"min": 7,
"max": 18
"weight": 1,
"name": "minecraft:map",
"weight": 3,
"name": "minecraft:lever",
"min": 1,
"max": 4
"weight": 1,
"name": "minecraft:hopper",
"min": 1,
"max": 4
"weight": 1,
"name": "minecraft:honey_bottle",
"weight": 1,
"name": "minecraft:end_crystal",
"weight": 1,
"name": "minecraft:elytra",
"function": "set_damage", //0 is broken and 1 is full durability
"min": 0,
"max": 0.4
"function": "enchant_randomly",
"enchantments": [
"mending",
"unbreaking"
"weight": 1,
"name": "minecraft:shulker_shell",
"min": 1,
"max": 6
"weight": 1,
"name": "minecraft:shield",
"function": "set_damage", //0 is broken and 1 is full durability
"min": 0.3,
"max": 0.8
"function": "enchant_randomly",
"enchantments": [
"unbreaking",
"vanishing_curse"
"weight": 7,
"name": "minecraft:popped_chorus_fruit",
"min": 4,
"max": 16
"weight": 1,
"name": "minecraft:poisonous_potato",
"min": 1,
"max": 3
"weight": 1,
"name": "minecraft:jukebox",
"weight": 1,
"name": "minecraft:furnace"
"weight": 1,
"name": "minecraft:fletching_table"
"weight": 1,
"name": "minecraft:fishing_rod",
"function": "enchant_randomly",
"enchantments": [
"mending",
"unbreaking",
"luck_of_the_sea",
"lure",
"vanishing_curse"
"weight": 3,
"name": "minecraft:ender_eye",
"weight": 7,
"name": "minecraft:ender_pearl",
"min": 1,
"max": 16
"weight": 2,
"name": "minecraft:ender_chest",
"weight": 1,
"name": "minecraft:dragon_egg",
"weight": 3,
"name": "minecraft:dragon_breath",
"weight": 1,
"name": "minecraft:daylight_detector",
"weight": 2,
"name": "minecraft:damaged_anvil",
"weight": 4,
"name": "minecraft:crafting_table"
"weight": 1,
"name": "minecraft:compass",
"weight": 1,
"name": "minecraft:clock",
"weight": 1,
"name": "minecraft:cartography_table"
There are 30 different hand-designed pieces, not including the obsidian tower, which are generated at random, and more will likely be added in the future! Some structure pieces are rarer than others, so you may still run into some new rooms on your second or third factory raid.
A special shout out goes to TelepathicGrunt for his structure's tutorial and for pointing me in the right direction whenever I got stuck. You can find his projects here. If you're getting started creating your own mods, I highly recommend his tutorial on structures, which you can find here.
Misc
- Spiders now can spawn cobwebs under certain conditions (v1.15) (can be turned off through config. Config file is labeled "cobbler")
By default, they must place it adjacent to logs, leaves, a spawner, or other cobwebs (config has an option to allow the spider to place it anywhere)
Additionally, they will only start spinning a web in certain light levels (8-12 by default, inclusive)
- Endermen can break and plant cocoa, making fully automatic farms possible. (v1.4) (disabled/re-enabled through this mod's config file, overriding the mobGreifing gamerule and enderman_holdable tags for cocoa only)
-
Bonemealing grass now has a small chance to spawn an oak sapling, making fully automatic wood farms possible.
-
Saplings now have chance to convert to dead bushes instead of becoming a tree in the desert depending on light level. This makes dead bushes renewable, and in conjunction with the change causing bonemeal to rarely create saplings, a semi-automatic farm should be possible, if difficult. Fully automatic farms would not currently be possible since dispensers can't shear dead bushes.
Planned Features
- More improvements to Shulker Factories
If you want to support me and let me spend more time on mods and less time at work, my patreon is here. As always, don't donate what you can't afford; we're all just here to have fun and play some Minecraft!
Boring Legal Stuff
The code for this mod is free to use under the MIT license because it's the most permissive license I know of in common use. If you want to use a substantial portion of the mod without having to include the MIT license, let me know. As long as you're acting in good faith and don't want to do something like post the mod as-is and say that you made it, I'll probably be fine with whatever you want to do with it. Just be cool and support the community :) Modpacks of course are free to use this mod however they see fit (but please include it in a way that attributes the downloads to this project page if you can. It would take a very extreme case to bother me, but if I'm not getting any downloads I'll think people aren't interested and halt development. It's unlikely that I'll ever get enough money from this to buy a cup of coffee, seeing people enjoy the mod is my payment). And in the unlikely case Mojang is reading this, use whatever you want from the mod!