simpleprotect-1.2.0+26.2.jar
Curse Maven Snippet
What's new
SimpleProtect – Changelog
Added
- Bigger protections: placing a protection block inside your own protection, at least 15 blocks from your other protection blocks, adds its area to your protection. Blocks placed closer (like a beacon base) stay normal blocks.
- Connected protections act as one: connected protection blocks of the same owner form one protection. Allowed players are shared, and
add/removeapply to all of it. - Entity protection: visitors can't hurt or use animals, villagers, armor stands, item frames, paintings, boats, minecarts or end crystals inside a protection.
- This covers melee, arrows, TNT they lit, and their tamed pets.
- Monsters and players can always be fought, and so can any mob that attacks you. Fireballs can be hit back.
- Explosion protection: explosions don't destroy blocks inside protections. Creepers and other explosions no allowed player caused can't hurt protected entities.
- Fire protection: fire doesn't burn blocks inside protections.
- Piston protection: pistons outside a protection can't push, pull or break blocks inside it, or push blocks in. Sticky pistons and slime/honey contraptions are covered.
- Liquid protection: water and lava don't flow into protections.
- Dispenser protection: dispensers outside a protection can't place lava, water, fire or blocks inside it, or shoot into it.
- New commands:
/sprotection info: owner and allowed players of the protection you're in./sprotection list: your protection blocks./sprotection list <player>(operators): another player's protection blocks./sprotection bypass(operators): build in every protection. It ends when you're de-opped or leave./sprotection delete(operators): delete the protection you're standing in.
- Offline players:
/sprotection addand/sprotection removework for offline players. Tab completion suggests them. - Config file:
config/SimpleProtect_Seed_<seed>/SimpleProtect.json. Settings:- radius
- protection block
- per-player limit (default 10, extensions included)
- extension distance
- an on/off switch for each protection type
- README: documents how protections work, what's protected, every command, and the config.
Fixed
- Crash on start: a malformed protections file crashed the server. Now the mod stays off (players can't join) and the file is left untouched.
- Crashes from incomplete entries: entries without owner, dimension or owner name crashed the server. Broken entries are now skipped, and a copy of the original file is kept.
- Protections lost on a crash: a crash while saving could leave an empty file and silently lose every protection. Saves are now atomic.
- Protections where no block was placed: right-clicking a chest with an emerald block created a protection.
- Wrong position in grass: placing into grass recorded the protection one block too high, so it could never be removed.
- Re-placing a lost protection block reset its allowed players.
- Overlap checks ignored dimensions: a Nether protection blocked Overworld protections nearby.
- Griefing from just outside the edge: players could place blocks, pour lava, take water or light fire inside a protection from just outside it.
- Wrong bucket targeting: buckets were checked against the wrong block (fixed 5-block reach, ignoring liquids).
- Offline players couldn't be removed:
/sprotection removeonly worked on online players. - Adding yourself: you could add yourself to your own protection.
- Name changes: changed player names were never updated in the protections file.
- Missing "entered" message: rejoining inside a protection didn't show it.
- Doubled denial messages: a denial message could show twice per click.
- Wrong protections in a new world: a new singleplayer world got the protections of the previous world.
- License file: the license file wasn't included in the jar.
Changed
- Protection block near someone else's protection: it is now placed as a normal block with a message, instead of being refused. Allowed players can decorate (beacons) in a friend's base.
- Protection block removal: a protection is removed only once its block is really broken.
Technical
- Mixins: added
simpleprotect.mixins.jsonwith mixins forServerExplosion,FireBlock,PistonBaseBlock,FlowingFluid,LavaFluid,DispenserBlockandEntity. - MixinExtras: used by two mixins. It is bundled with Fabric Loader, so no new dependency is needed.
- Name cache:
name_cache.jsonin the protections folder (players who joined before, for offline commands). - Data format:
allowedNameswas added. Existing files load as they are. - Performance: protection lookups no longer copy the whole list, and the liquid, fire and explosion checks skip quickly when nothing nearby is protected.
This mod has no additional files

