GithubHelp home page GithubHelp logo

hafarooki / explosionreversal Goto Github PK

View Code? Open in Web Editor NEW
8.0 8.0 8.0 312 KB

A lightweight plugin for Minecraft servers which makes blocks destroyed by explosions regenerate.

License: MIT License

Java 100.00%

explosionreversal's People

Contributors

hafarooki avatar rsammelson avatar vijfhoek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

explosionreversal's Issues

name change

looks like there's already an older (abandoned?) plugin with this name, hinders search results, only way to search this is to search it along with my name. a new name would be a good idea (wouldn't need to break anything, could automatically rename files etc). can't really think of a good one yet though

Grief Prevention

  1. Would be nice if the plugin didn't regenerate in griefprevention claims where the /claimexplosion was turned on

That way users can claim an area and do whatever explosion stuff they want inside their base.

Cannot spawn an entity in 1.16.4

On Spigot 1.16.4 I occasionally run into an error that fills up the log files quickly.

[Server thread/WARN]: [ExplosionRegen] Task #14 for ExplosionRegen v4.0.0 generated an exception
java.lang.IllegalArgumentException: Cannot spawn an entity for org.bukkit.entity.Item
at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.createEntity(CraftWorld.java:1779) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1804) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawn(CraftWorld.java:1389) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at org.bukkit.craftbukkit.v1_16_R3.CraftWorld.spawnEntity(CraftWorld.java:652) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.starlegacy.explosionregen.Regeneration.regenerateEntity(Regeneration.java:90) ~[?:?]
at net.starlegacy.explosionregen.Regeneration.regenerateEntities(Regeneration.java:79) ~[?:?]
at net.starlegacy.explosionregen.Regeneration.pulse(Regeneration.java:21) ~[?:?]
at net.starlegacy.explosionregen.ExplosionRegenPlugin.lambda$scheduleRegen$0(ExplosionRegenPlugin.java:44) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:81) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1059) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:355) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1007) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:846) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[server.jar:git-Spigot-f011ca2-3af81c7]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]

Regenerate blocks in logical order

Sorting the list of blocks / entities to regen would help add to the aesthetic, as well as make it easier to not get stuck in holes.

Typically regening from the bottom up is preferred, and respawning entities last.

That said, if you wanted something better, then using a 'reverse flood fill' of connected non air non liquid blocks would be ideal, but difficult to implement.

Chest contents are not regenerated

Hi, I'm not sure if this is intentional, but even lowering the delay to below 5 mins, all content inside the chests disappear completely after regeneration. Is this intended, or is there any way to fix? Thanks

How to configure the config.yml

I really need to configure it but the minecraft server in 1.15.2 rejects it and returns the file to its initial state, here is the information I enter:
(I just want to regen the grass and dirt and stone blocks)

Time in minutes after exploding blocks should regenerate

regen_delay: 0.1
placement_intensity: 0.1
ignored_entities:
ignored_materials:
included_materials:

  • "grass_block"
  • "dirt"
  • "stone"

Thank you in advance for your help!

1.16.1 Support

The plugin doesn't support 1.16.1, explosions behave like normal

block ignore list / chain explosions

hi!

was wondering if its possible to have an ignore list or support chain explosions from TNT

primed TNT will treat other TNT around it as another block and regen it back.

so far, this is working great for me! thank you a lot.

Regenerate blocks in order

Issue #1, adding block by block placement is a good start. However the main reason to regenerate things piece by piece is to keep players and mobs from getting trapped inside the explosion regen zone and dieing of suffocation. Right now it looks cool, but the blocks seem to regen from closest to the point of explosion to the farthest away from the explosion which almost always ends with anything inside a creeper, ghast, or wither "pit" suffocating because the "ceiling" regenerates before the "floor". This also means anything with gravity that WAS on the surface is now buried and/or glitched under the ground (for example as per #14 armor stands are now regened but sometimes fall into the ground because the blocks they were on did not come back yet).
To make this a more useful feature the blocks need to regenerate in a specific order. From the inside out. Farthest from impact to closest to impact in other words.

Warnings in console - Unable to delete explosion_regen.dat_tmp

Getting the below error message using PaperMC 1.14.1 #42 (https://papermc.io/api/v1/paper/1.14.1/42/download)

[18:28:28 WARN]: java.io.IOException: Unable to delete C:\Minecraft\.\creative\data\explosion_regen.dat_tmp [18:28:28 WARN]: at com.google.common.io.Files.move(Files.java:485) [18:28:28 WARN]: at net.starlegacy.explosionregen.WorldData.save(WorldData.java:137) [18:28:28 WARN]: at net.starlegacy.explosionregen.ExplosionRegenPlugin.onWorldSave(ExplosionRegenPlugin.java:48) [18:28:28 WARN]: at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor25.execute(Unknown Source) [18:28:28 WARN]: at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) [18:28:28 WARN]: at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) [18:28:28 WARN]: at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) [18:28:28 WARN]: at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:534) [18:28:28 WARN]: at net.minecraft.server.v1_14_R1.WorldServer.save(WorldServer.java:758) [18:28:28 WARN]: at net.minecraft.server.v1_14_R1.MinecraftServer.saveChunks(MinecraftServer.java:672) [18:28:28 WARN]: at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1079) [18:28:28 WARN]: at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:904) [18:28:28 WARN]: at java.lang.Thread.run(Thread.java:748)

Trouble compiling fork due to seemingly broken dependencies (I think).

Hi, I am aware that this is probably entirely down to me being new to programming in java but I hope you'll bear with me nonetheless, I am currently trying to make a plugin that can regenerate broken and placed blocks, This plugin for I think clear reasons seems ideal for what I need to do, as far as I can tell it should be a matter of linking into block place and break events and saving their data in the same way as the explosions already implemented, I feel fairly comfortable with that however I am struggling to get the plugin to compile having downloaded the source code, these are the errors I'm getting:
Screenshot (149)
I have already dealt with some dependency errors and the ones that remain all seem to reside inside 'NMSWrapper_v1_16_R3'. Honestly after looking through all the classes that's also the one I'm having the hardest time understanding.

I just don't know where to find or how to properly install the packages however hopefully after getting this sorted i'll have a better grasp of the issue.

I'm going to attach a bit of the code however if you want access to more just ask and I'll upload it - I haven't changed anything about the file itself that I'm aware of except for changing the first line to package 'me.blocks119.aurauriaregenerator.nms;' along with similar simple path changes in other files.
Screenshot (151)

Many thanks in advance.

Nano

Rewrite in Java

This plugin doesn't really benefit from the features of Kotlin, so it may as well be remade in Java to vastly reduce the jar file size.

Chest problem

Hello, your super plugin has a problem, the chests have no more objects when they reappear.
It would be cool if at least they drop them : )

Items don't regenerate on Spigot

Hello.

The plugin works great but constantly spaming an exception messages in the log journal:

[00:11:03 WARN]: [ExplosionRegen] Task #8 for ExplosionRegen v4.0.0 generated an exception
java.lang.IllegalArgumentException: Cannot spawn an entity for org.bukkit.entity.Item
at org.bukkit.craftbukkit.v1_16_R1.CraftWorld.createEntity(CraftWorld.java:1791) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at org.bukkit.craftbukkit.v1_16_R1.CraftWorld.spawn(CraftWorld.java:1816) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at org.bukkit.craftbukkit.v1_16_R1.CraftWorld.spawn(CraftWorld.java:1403) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at org.bukkit.craftbukkit.v1_16_R1.CraftWorld.spawnEntity(CraftWorld.java:647) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.starlegacy.explosionregen.Regeneration.regenerateEntity(Regeneration.java:90) ~[?:?]
at net.starlegacy.explosionregen.Regeneration.regenerateEntities(Regeneration.java:79) ~[?:?]
at net.starlegacy.explosionregen.Regeneration.pulse(Regeneration.java:21) ~[?:?]
at net.starlegacy.explosionregen.ExplosionRegenPlugin.lambda$scheduleRegen$0(ExplosionRegenPlugin.java:44) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1061) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:354) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1009) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:848) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.1.jar:git-Spigot-0509002-7c03d25]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]

It is a big hindrance to read logs and seems to be putting some load on the server.

Gradle Build Error

I am attempting to compile to project on Debian, and I get the following build error:

FAILURE: Build failed with an exception.

* Where:
Build file '/home/robby/Documents/Important-Folders/programming/minecraft-plugins/ExplosionRegen/build.gradle' line: 11

* What went wrong:
A problem occurred evaluating root project 'ExplosionRegen'.
> Could not find method content() for arguments [build_3kvmd138cqv17dtnc4y4mmchw$_run_closure1$_closure3$_closure5@48610ed] on object of type org.gradle.api.internal.artifacts.repositories.DefaultMavenArtifactRepository.

I'm using openjdk version 1.8.0_242, and I installed maven with apt.

TNT now regenerates as of version 3.0

I do not remember TNT regenerating before. Now with 3.0 and a fresh config TNT and TNT minecarts now regenerate their explosions and I do not see a config option to disable this.
It would be neat to have config options to determine what explosions are or are not regenerated, but at the very least have player created explosions such as TNT should not regenerate by default.

Entities are still trapped by regenerated blocks

This issue is tangential to issue #1 and issue #27. Blocks are absolutely regenerating in the correct order, and blocks with gravity are not struggling during this progress.
However, players, mobs, and other entities that follow gravity (such as minecarts and armor stands) are trapped when the explosion regenerates. To make this plugin safe for players, pets, and so it does not trap entities within blocks, I think it has to have some collision check during the regeneration.

"included_entities" not regenerated

I have tried several entities but have been unsuccessful in getting the new feature "regenerating additional entities" to work. It is successfully regenerating armor stands but any entities beyond that seem to not function as intended.

I have included my config as a .txt just in case the actual issue is just that I have used my configuration file incorrectly.
config.txt

Items dont regen with NBT data.

Items with inherent NBT data such as signs, shulker boxes, banners, and paintings, are not regenerated the same way they explode. Shulkers are emptied, paintings randomly re-assigned, sign text is removed, heads become Steve, etc.

A shulker box being emptied could be devastating, so I can't yet use this plugin in good conscience.

note: this seems heavily related or the same as #38, #40, and #42.

Incorrect or unclear "regen_delay" and "placement_intensity"

The timings set in the config are either unclear or incorrect as when I time it the blocks begin to regen at approximately 24 seconds and finish at around 30 seconds when regen_delay is set to 1.0 (meaning there should be an entire minute before they even start regenerating, and they finish in half of that).
If this is intended then the config should be more clear but I believe this is an error.

Items are able to be dropped by explosions

If blocks are towards the edge of an explosion that would normally be regenerated they will sometimes (unable to tell the exact circumstances besides "near the edge") drop an item instead of being "destroyed" and then when the explosion radius is regenerated that block will not be regenerated. This does avoid duping but if the dropped item is not noticed it could be left there and despawn, or in some cases even be buried inside of the regenerated area.

Blocks should always be destroyed so they can properly regenerate.

Regenerated paintings are randomized/deleted

When paintings are regenerated successfully they do not seem to regenerate as the same painting they started as. However, from my testing it seems that depending on the order things regenerate in, sometimes they attempt to regenerate before the blocks they were placed on and instead do not regenerate at all

Warnings in Console - Cannot rename a temporary file in world_the_end

The following exception is being thrown every few minutes on the server console, I saw another issue here closed that pertained to a similar error, but in this case, it has to do with world_the_end and renaming a temporal file rather than deleting it

It also seems to be causing skips and general instability on my spigot server, running on Windows 10, using the latest release to date (2.3.0)

[04:24:51] [Server thread/WARN]: java.nio.file.FileSystemException: .\world_the_end\data\explosion_regen.dat_tmp -> .\world_the_end\data\explosion_regen.dat: The process cannot access the file because it is being used by another process.

[04:24:51] [Server thread/WARN]:        at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
[04:24:51] [Server thread/WARN]:        at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
[04:24:51] [Server thread/WARN]:        at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
[04:24:51] [Server thread/WARN]:        at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
[04:24:51] [Server thread/WARN]:        at java.nio.file.Files.move(Unknown Source)
[04:24:51] [Server thread/WARN]:        at net.starlegacy.explosionregen.WorldData.save(WorldData.java:138)
[04:24:51] [Server thread/WARN]:        at net.starlegacy.explosionregen.ExplosionRegenPlugin.onWorldSave(ExplosionRegenPlugin.java:48)
[04:24:51] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[04:24:51] [Server thread/WARN]:        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
[04:24:51] [Server thread/WARN]:        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
[04:24:51] [Server thread/WARN]:        at java.lang.reflect.Method.invoke(Unknown Source)
[04:24:51] [Server thread/WARN]:        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316)
[04:24:51] [Server thread/WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[04:24:51] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529)
[04:24:51] [Server thread/WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514)
[04:24:51] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.WorldServer.save(WorldServer.java:747)
[04:24:51] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.MinecraftServer.saveChunks(MinecraftServer.java:646)
[04:24:51] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:990)
[04:24:51] [Server thread/WARN]:        at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:815)
[04:24:51] [Server thread/WARN]:        at java.lang.Thread.run(Unknown Source)

Add an ignored-worlds config option

I want explosions to regen in the overworld, but not the nether or the end.

Can you add an ignored-worlds config option?

ignored-worlds: []

Custom Heads don't repair with correct skins.

[22:56:02 INFO]: This server is running CraftBukkit version git-Spigot-379750e-eaf0bac (MC: 1.16.2) (Implementing API version 1.16.2-R0.1-SNAPSHOT)
[22:56:02 INFO]: You are 1 version(s) behind
[22:56:06 INFO]: ExplosionRegen version 4.0.0
[22:56:06 INFO]: Authors: MicleBrick, SijmenSchoon and rsammelson

Exploding custom heads results in steve heads when they repair.

Exploding Item Frames throws exception on regen

When added as a regenerating entity, item frames cause exceptions to be spammed.

[23:02:04] [Server thread/WARN]: [ExplosionRegen] Task #163 for ExplosionRegen v4.0.0 generated an exception
java.lang.IllegalArgumentException: Cannot spawn hanging entity for org.bukkit.entity.ItemFrame at Location{world=CraftWorld{name=world-1.16.2},x=191.5,y=66.5,z=-74.96875,pitch=0.0,yaw=0.0} (no free face)
        at com.google.common.base.Preconditions.checkArgument(Preconditions.java:383) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.createEntity(CraftWorld.java:1750) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.spawn(CraftWorld.java:1804) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.spawn(CraftWorld.java:1389) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at org.bukkit.craftbukkit.v1_16_R2.CraftWorld.spawnEntity(CraftWorld.java:652) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.starlegacy.explosionregen.Regeneration.regenerateEntity(Regeneration.java:90) ~[?:?]
        at net.starlegacy.explosionregen.Regeneration.regenerateEntities(Regeneration.java:79) ~[?:?]
        at net.starlegacy.explosionregen.Regeneration.pulse(Regeneration.java:21) ~[?:?]
        at net.starlegacy.explosionregen.ExplosionRegenPlugin.lambda$scheduleRegen$0(ExplosionRegenPlugin.java:44) ~[?:?]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at org.bukkit.craftbukkit.v1_16_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.minecraft.server.v1_16_R2.MinecraftServer.b(MinecraftServer.java:1059) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.minecraft.server.v1_16_R2.DedicatedServer.b(DedicatedServer.java:352) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.minecraft.server.v1_16_R2.MinecraftServer.a(MinecraftServer.java:1007) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:846) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.2.jar:git-Spigot-379750e-eaf0bac]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_251]

Options File Comments

There is an options file in the repository, which has explanations for every parameter, but the default generated options file only has one comment. Can this be fixed so the comments show in the generated file?

Could not pass event WorldSaveEvent to ExplosionRegen v2.0.0

[15:13:14] [Server thread/ERROR]: Could not pass event WorldSaveEvent to ExplosionRegen v2.0.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:520) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:505) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at net.minecraft.server.v1_14_R1.WorldServer.save(WorldServer.java:749) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at net.minecraft.server.v1_14_R1.MinecraftServer.saveChunks(MinecraftServer.java:636) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:976) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:801) [spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_121]
Caused by: java.lang.NoClassDefFoundError: it/unimi/dsi/fastutil/objects/Object2IntOpenHashMap
at net.starlegacy.explosionregen.WorldData.save(WorldData.java:104) ~[?:?]
at net.starlegacy.explosionregen.ExplosionRegenPlugin.onWorldSave(ExplosionRegenPlugin.java:48) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
... 8 more
Caused by: java.lang.ClassNotFoundException: it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_121]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:135) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:81) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_121]
at net.starlegacy.explosionregen.WorldData.save(WorldData.java:104) ~[?:?]
at net.starlegacy.explosionregen.ExplosionRegenPlugin.onWorldSave(ExplosionRegenPlugin.java:48) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[spigot-1.14.1.jar:git-Spigot-03bd4b0-c45c0a9]

Let us decide which type of explosion that regenerates.

Hey!
Good job on the plugin, nice to see some up to date fresh plugin. Let me get to the point;

I want to allow TNT explosions without it regenerating, but I'd like creeper explosions to regenerate.
Consider adding this feature in the config.

Thanks a lot for your work!
Kattemannen

Add regeneration speed

A quality of life improvement would be to add a regeneration speed parameter. It is not needed for functionality, but currently there is only really a "delay" parameter, and it would be nice to have both a delay and speed parameter (ex: wait 30 seconds, then over 30 seconds place blocks back).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.