-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Chain reactions do not work, even with prevention turned off #49
Comments
Hi! However, I realize that I haven't released anything recently, and the implementation of Minecraft has somewhat changed. Please make sure that if you disable completely CreeperHeal (remove the plugin) and blow up TNT, you can still make a chain reaction. |
I'm sure, but to make sure it's not the server itself, I just tested it on a blank server (PaperSpigot 1155) without any plugins, and the chain reactions work fine. However, when I stop the same server and enable just CreeperHeal, the nearby TnT just breaks like a regular block, and when I do /ch heal, the nearby TnT reappears. |
Okay, I'll have a look when I have time (but I don't know when that's going to be, sadly... I don't really maintain this plugin anymore) |
Thanks, I understand. However, I found a workaround. I added '46' (the item ID for TNT) to the blacklist of each world, and chain reactions work now. And the latter explosions seem to heal too. This solution works fine for our server, though I don't know if that's intended. Might not be intuitive for other server admins. I went into the source code and the "prevent-chain-reaction" option just seems to decide whether to treat nearby TNT in explosions like protected blocks or not. In CreeperExplosion.java, I tried changing:
To:
Since chain reactions are disabled by default, this change checks if "prevent-chain-reaction" is false and if the block is TNT. If so, it just returns, treating TNT like vanilla would and igniting it. Otherwise it would remove it like a non-TNT block. Though, I don't know, maybe other server admins would prefer the TNT be treated like protected blocks as the setting does now. Anyway, just my two cents. The workaround works fine for us. |
Thanks for the workaround, but normally it should be part of the plugin, I agree. I seem to remember that we're explicitly handling TNT differently. As for the |
I think the current behavior is correct if I understand correctly. Adding TNT to the blacklist, essentially means, 'let this block act like it exploded naturally' in tnt's case, that's spawning/causing an explosion. Changing prevent-chain-reaction to true means Do not chain react tnt, do not explode it, let it stay in the world. so that it can be triggered again by a player or outside cause. leaving tnt as is, means that the tnt will be caught by creeperheal, and healed back as 'normal'? Maybe the default should be having tnt added to the blacklist? |
@Programie Working as intended. What were you expecting? |
@Programie Have you tried adding TNT to the blacklist? |
I just tried it again by adding TNT (ID '46') to the blacklist but the issue still exists for me. If I understand it correctly I have to update the That's my current restrict:
use-whitelist: false
blacklist:
- '46'
whitelist: '0'
replace-grass-with-dirt: false
repair-time-of-day: -1
protected-list: '0'
factions:
ignore-wilderness: false
ignore-territory: false
drop-chest-contents: false I'm not sure whether |
The blacklist contains a string with comma-separated IDs (see https://github.com/nitnelave/CreeperHeal/blob/master/src/main/resources/world-advanced.yml) |
If I get you correctly, this should work but it doesn't for me: restrict:
use-whitelist: false
blacklist: '46'
whitelist: '0'
replace-grass-with-dirt: false
repair-time-of-day: -1
protected-list: '0'
factions:
ignore-wilderness: false
ignore-territory: false
drop-chest-contents: false |
Sorry, I really haven't fired Minecraft for 2 years, I don't really know what's going on. I never had any problem with chain reactions, though, even with the default settings. Something must have changed in the Spout/Bukkit code, but I don't know what. Sorry I can't help more. If you do find the issue, please post it here. |
We have "prevent-chain-reaction: false" in advanced.yml. However, if I were to place two TnT next to each other and light one TnT, the nearby TnT does not explode and, instead, is destroyed as if it were any other block. If I set "prevent-chain-reaction" to true, the adjacent TnT is not destroyed at all. (I tested this plugin by itself on an empty server. We are using CreeperHeal-7.0.5, and there are no errors in the logs.)
This is an issue for us because it prevents players from creating effective TnT cannons. One reason we enjoy CreeperHeal is because it allows PvPers to break into protected areas while preventing permanent damage to buildings.
Thank you for your work; we've enjoyed the plugin for years.
The text was updated successfully, but these errors were encountered: