HomeIsWhereTheHeartIs
Keybased protection, team score and a reason for conflicts.
What's the use of fortresses and castles if anybody can just mine right in? What's the use of labyrinths if anyone just mine right through them? Why build traps if people just bypass them by mining around them? I made this plugin because I got tired of the lack of game play mechanics in Minecraft.

Basic premises of plugin: On first join find yourself in a indestructible room without escape. Select your spawn location by pushing any of four buttons (nort, east, south or west). Gather ten blocks of obsidian and build a heart for protection. In front of the heart you set the key (three blocks) and put one block of iron, gold or diamond to fuel the heart. As long as the three leftmost slots in your inventory is the same as the key you have permission within the hearts protected volume (radius configurable). Without the correct key the volume is protected by the level of protection offered by the choice of fuel. Put a sign on the heart and write a team name on the first line. Several hearts can have the same team name. Hearts do not need to share the key even if they belong to the same team. All iron, gold and diamond put in the chest behind the heart counts as team points. Points are calculated and displayed every time a chest behind a heart is opened. For players without the right key it becomes cumbersome to mine within a hearts protected volume. Also man made blocks/items (bricks, fence, doors, ovens, crafting tables etc) can't be destroyed by mining or be used (buttons, levers and pressure plates are excluded). However they are still vulnerable to TNT.
What does this mean:
- You can build amazing castles and bases that actually takes some cunning and fighting to break into.
- TNT now matters!
- Traps now matters too!
- Should you mine and collect valuable material or should you attack and steal from other teams savings?
- Should you use valuable material for score or to make tools?
- Lots of room for betrayal and backstabing through distributing key to enemy, changing key without team mates knowledge, running off with amassed treasure etc.
- No commands! Either you know the right key or you don't!
- More than 30,000 possible key combinations.
Features:
- On first join players get to choose their spawn location on the server [north, east, south, west] (configurable distance).
- Build heart to protect volume around heart (configurable radius).
- Iron, Gold and Diamond block used as fuel for heart, each with different level of protection:
- - Iron block - Items/manmade blocks unmineable and harder to mine for players without the right key.
- - Gold block - Same as iron plus players without the right key can't build. Also no mobspawn above level 62 within hearts protected volume (configurable level).
- - Diamond block - Same as gold but no mobspawn at all within hearts protected volume.
- Each heart has a key for permission and a chest for score.
- Each heart can be assigned to a team through a sign (Only first line on sign matters).
- Keys are set in each players inventory (the three leftmost slots).
- If two hearts overlap the oldest one has precedence.
- Push any stone button to calculate and display score per team, based on iron, gold and diamond in heart-chests.
- In protected areas mining is more cumbersome for players without the right key.
- In protected areas man made blocks/items cannot be destroyed by mining (However they can still be destroyed by TNT).
Instruction: Put HomeIsWhereTheHeartIs.jar in plugin directory. Start and stop server once to generate config file.
Known issues:
- Sometimes the chunks for the selected spawn area is not loaded fast enough when chosen for the first time, and the player falls to his death. This shouldn't matter too much as all players have no items on join and a respawn puts the player back in the correct location.
- This is my first ever Java programming. I have tried to squash all bugs but expect to find bugs/issues.
- Also the settings bestFuelMobCancel, betterFuelMobNerf and useHeartChest are currently unused.
Future development:
- I would like to implement so that armor and TNT can not be carried at the same time. This because TNT now has a much more powerfull role and being able to spot enemies likely to carry TNT would add to the game play.
Changelog:
Version 1.4
In this release some new stuff has been added:
noPVP and noTNT fuel:
These are blocks which can be used as fuel for a heart. Within the radius of a heart with noPVP fuel, no players with the right key can die. If the heart has noTNT fuel, then all explosions within the raidus will be cancelled. They can be configured in the config.yml file. If you want to disable this functionality I recommend setting noPVP to block 137 (command block) and noTNT to 7 (bedrock) as these blocks shouldnt be available to players unless they cheat. Default values for noPVP is 133 (Block of Emerald) and for noTNT it is 22 (Block of Lapis Lazuli).
Enchanted book perk for the leading team:
Once every ingame day/night cycle (24000 ticks) the team with the most score will get an enchanted book with random enchantment and random level in the chest beloging to their heart. If there is no space left in the chest there will be no book. If a team has several hearts the receiving chest will be randomized.
Version 1.3.2
Moved lots of previously hardcoded stuff to the config. The following are now configurable:
- cancelMob: 50,51,52,53,54,55,56,57,58,59,60,61,62,63
- breakProtectedItems: 25,26,27,28,29,33,34,45,47,54,55,58,61,62,63,64,65,66,67,68,69,70,71,72,77,84,85,91,93,94,95,96,98,101,107,108,109,112,113,114,116,117,118,120
- useProtectedItems: 26,54,58,61,62,64,95,96,107,116,117
- allowedBlocks: 46,51,77
- blockSubstitution: 121>98,42>41,53>5,57>42,87>48,1>4,5>24,43>44,41>24,89>88,48>89,44>82,24>12,4>13
- Fixed a couple of bugs where I accidentally (sloppily :)) used the default world without checking the actual world of the heart. This bugged out hearts in other worlds than the standard, made score only calculate contents of chests in the same world as the player and so on. I believe I have fixed them all.
- This version creates a new config, so you should stop the server, delete (or move) your current config and then restart the server.
Version 1.3
- New config value, useSpawnBox. Set to false if you do not want to use the room where players first spawn and choose their destination.
- You MUST add the field useSpawnBox to the config.yml file. It should be directly below "Spawn:". Dont forget the two leading spaces. If you're not familiar with editing yml files it's better to stop the server, delete config.yml, update the .jar file and start the server again. Then a completely new config.yml file will be created.
- Fuel consumption is implemented but not thouroughly tested. Set consumeFuel to true in config to enable. consumeCheckInterval sets how often the server should check if a heart has consumed its fuel. consumeTime is how long before a block of fuel is consumed. A value of 20 is one second. Default consumeTime is 24000 which is 20 minutes (One complete MC day cycle).
- The best fuel in a heart is consumed first
- Pressing a button no longer calculates and shows score. This is now done by using one of the chests on the backside of a heart. This means that you can not check score if you do not have access to a heart.
Version 1.2
- Default config now in English
- Placing TNT in area protected by either gold or diamond fuel without having the right key now places primed TNT entity.
Version 1.1
- Releasing the plugin
-
View User Profile
-
Send Message
Posted Mar 17, 2012@Medercraft
I'm gonna add config options for blocks, mobcancel and some other stuff. Will see if I get the time to do it this weekend.
-
View User Profile
-
Send Message
Posted Mar 17, 2012Is it possible to make all of the blocks unminable instead of just man made blocks?
-
View User Profile
-
Send Message
Posted Mar 16, 2012@ResidentEmil
The plugins I was running too were: Ptweaks, Treeasssist and V10lift. But I tried it again with only your plugin and the same happened.
-
View User Profile
-
Send Message
Posted Mar 16, 2012@Hungrytoad
Ok, I see. Thank's for the information. I will continue investigating this. First step will be to implement a comma separated list in the config where it can be explicitly stated which entities should be cancelled, i.e. "skeleton,creeper,enderman,spider,slime" and so on. This will be in addition to a on/off setting for mob cancelling.
Just to be sure; are you running any other plugins that might affect this? I spent several hours in an area very close to my diamond fueled heart, and no animals disappeared (until I killed them :) ). I didn't try spawneggs or breeding though.
I'll see if I can find some time for this in the weekend.
-
View User Profile
-
Send Message
Posted Mar 15, 2012@ResidentEmil
Ok, this is what happens: when I build a heart with iron as its fuel there just will spawn animals(by spawn eggs, breeding, spawners and naturally). but when I add gold to the heart, animals stop sapwning... only breeding works, just as you said. and I've also done a test too: I had build a heart with iron gold and diamond in an area with quite an amout of pigs, and waited for an half an hour/ after that almost all the pigs were gone!! and I coulldn't juse spawn eggs or mobspawners.
-
View User Profile
-
Send Message
Posted Mar 15, 2012@Hungrytoad
I spent some time investigating the apparent lack of animals respawning today, I Have a build of the plugin writing every cancelled mob to the console. After checking it for several hours it only cancels creepers, endermen, spiders, squids, skeletons, slime and other mobs. No chickens, cows, pigs etcetera. I continued searching for more information regarding onCreatureSpawn (which I am using), and if I understand it correctly animals are no longer part of the ordinary spawn cycle. Apparently this is due to the animals being persistent and only spawn if they are bred. So it seems the plugin is working correctly.
If you would like to and have time, I would love to hear about how you are using the plugin, and how it has affected your gameplay.
Cheers! RE
PS. As soon as I have time I will add a cofig option for mobcancel anyway.
-
View User Profile
-
Send Message
Posted Mar 15, 2012The plugin version 1.3.1 is updated to work with CB1.2.3-R0-2
-
View User Profile
-
Send Message
Posted Mar 15, 2012@Hungrytoad
Hi, and thanks. Mobcancel should only affect mobs, not animals. Please give some instructions on what effect you see. I have animals spawning whatever fuel I am using in the heart. I'm gonna do some tests to verify this behavior.
Br, RE
-
View User Profile
-
Send Message
Posted Mar 12, 2012I love your plugin, but the lack of sheep, cows, etc... really annoys me. Could it be possible to set the mobcancel off in the cofig file???? That would be really awesome!
-
View User Profile
-
Send Message
Posted Jan 16, 2012Been thinking about the idea with variable area size based on number written on a sign. What happen swhen people start changing the info on the sign,a djusting the radius of their protected area? Maybe this isn't a good idea.
-
View User Profile
-
Send Message
Posted Dec 26, 2011Adding support for sign based variable radius should be doable. I'll see when I get around to it.
-
View User Profile
-
Send Message
Posted Dec 23, 2011Ooh! ive got an idea! nothing too important, but in a later version, could you add the ability to configure the radius of the heart by placing a sign with the desired radius on the heart or something? That would be great for different areas that are sized differently and such :)
-
View User Profile
-
Send Message
Posted Dec 23, 2011I'm not sure I understand the purpose of all this approval process for files stuff. Anyway, it should soon show up.
-
View User Profile
-
Send Message
Posted Dec 23, 2011Also, I think fuel consumption is a great idea! as long as its got the option to change the config to determine whether you want it/the duration of the fuel. It's an interesting idea because the owner of the heart will have to go out and search for the fuel to keep their heart running!
Keep up the good work!
-
View User Profile
-
Send Message
Posted Dec 23, 2011What could be more fun than vacation? Updating MC bukkit plugins off course! The plugin is updated to v1.3, this means:
Check changelog above.
Have fun!
-
View User Profile
-
Send Message
Posted Dec 22, 2011I am currently on vacation, but back in a couple of days. Optional "spawn box" will be added in next version. About buttons, that's how score calculations are currently initiated. However it should not affect the ordinary effect off the button (did it?). I am actively aiming not to implement any commands. That's why score is currently connected to buttons. I have been thinking about changing so that score is calculated everything a chest next to a heart is opened instead. I'll see if I can get that into the next release as well. I am happy to hear that you like the plug apart from this :) When you have used it for a while I would like to get some feedback regarding fuel consumption. Good idea/bad idea?
-
View User Profile
-
Send Message
Posted Dec 22, 2011Would it be possible to include in the config an option to include/exclude the starting spawn box? I am wondering because i would like to have people just spawn at the original spawnpoint so they can go about their previous business without the need to start a fresh new server. Also, i got a glitch where whenever i pressed a button, it gave me my score instead of operating the things it was hooked up to. Great plugin, by the way!