Structure Control Utility
Remember that time when I spent a whole 5 hours preparing a Woodland Mansion for my friends...
When they finally showed up, and we were almost done with plans and preparations, suddenly we saw fire glow through the windows...
It turned out lightning had struck the back of the building, and everything except the wall facing us burned to the ground.
This sad experience became the reason for creating this mod.
New Features in Version 3 for Minecraft 1.20.1 and 1.20.2
Structure Protection from Destruction
By default, certain structures (like mineshafts) have immunity to fire, destruction, and explosions. Other objects can be configured, but they are not protected by default (like mineshafts and villages).
Structure Control Utility mod makes buildings invulnerable to:
- Fire for a certain number of minutes (from 0 minutes to essentially forever, default - 6 hours). This function also destroys lava placed inside a fire-protected structure.
- Destruction for a certain number of minutes (from 0 minutes to essentially forever, default - 6 hours).
- Explosions for a certain number of minutes (from 0 minutes to essentially forever, default - 6 hours).
This means players will have to go through structures in their original form until they age, and random lightning won't burn wooden buildings until they reach a certain age.
Most "soft blocks" can be broken (paintings, sand, dirt, carpets, plants, etc.), but wood, glass, and stone cannot be broken, burned, or exploded. In the future, it's planned to make these blocks configurable. If I missed any obvious soft block, let me know - I'll try to add it as soon as possible.
Effects
By default, structures don't have effects, but pack creators can set the following:
- Jump Boost
- Movement Slowness
- Regeneration
- Slow Falling
- Water Breathing
- Weakness
These effects can be independently configured from strength 0 (off) to strength 9.
Planned Features
Applying Effects Inside Structures
Ability to apply Weakness and/or Slowness and/or Mining Fatigue to players inside a selected structure.
Report on All Registered Structures
For convenient pack design - a report that allows you to easily know all structures in your pack.
Example:
1, minecraft:ancient_city, Effects:000000, 10080, 10080, 720, 720
2, minecraft:bastion_remnant, Effects:000000, 10080, 10080, 720, 720
3, minecraft:buried_treasure, Effects:000000, 10080, 10080, 720, 720
4, minecraft:desert_pyramid, Effects:000000, 10080, 10080, 720, 720
5, minecraft:end_city, Effects:000000, 10080, 10080, 720, 720
6, minecraft:fortress, Effects:000000, 10080, 10080, 720, 720
....
27, minecraft:swamp_hut, Effects:000000, 10080, 0, 0, 0
28, minecraft:trail_ruins, Effects:000000, 10080, 0, 0, 0
29, minecraft:village_desert, Effects:000000, 10080, 0, 0, 0
Rename this .rpt file to end with .csv, and it becomes a configuration file.
By default:
- Effects are disabled (level 0) for a real week.
- Structures 1-6 are protected from fire for a real week (10080 minutes).
- Structures 1-6 are protected from mining for 8 real hours (720 minutes).
- Structures 1-6 are protected from explosions for 8 real hours (10080 minutes).
- These values can be set to 2 billion minutes (61 real years).
Structures 27-29 have no effects and protection.
The main configuration file "structurecontrolutility-common.toml" contains default values that will populate the report:
["Structure Control Utility Values"]
#Debug Level: 0 = Off, 1 = Log, 2 = Chat+Log
#Range: 0 ~ 2
debugLevel = 0
#Minutes before structure potion effects end
#Range: > 0
structureEffectsMinutes = 10080
#Default minutes before structures can burn
#Range: > 0
"stopFireMinutes " = 10080
#Default minutes before entities can break blocks
#Range: > 0
stopBreakMinutes = 720
#Default minutes before explosions can break blocks
#Range: > 0
stopExplosionMinutes = 720
Try it, use it, and share your ideas!