Skip to content
Snippets Groups Projects
Commit 13ea6cb9 authored by Tim's avatar Tim
Browse files

*

parent b0facd56
No related branches found
No related tags found
No related merge requests found
......@@ -23,6 +23,7 @@
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>plugin.yml</include>
<include>config.yml</include>
</includes>
</resource>
</resources>
......
package fsmpi.gaming.tnt_crusher;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.configuration.serialization.ConfigurationSerializable;
public class ChangeBlockModifier implements BlockModifier {
public class ChangeBlockModifier implements BlockModifier, ConfigurationSerializable {
public Material checkFor;
public Material changeTo;
public float modifierChance;
......@@ -15,6 +18,12 @@ public class ChangeBlockModifier implements BlockModifier {
this.changeTo = changeTo;
this.modifierChance = modifierChance;
}
public ChangeBlockModifier(Map<String, Object> attributes) {
checkFor = Material.matchMaterial((String) attributes.get("checkFor"));
changeTo = Material.matchMaterial((String) attributes.get("changeTo"));
modifierChance = Float.parseFloat((String) attributes.get("modifierChance"));
}
@Override
public void modify(Block block) {
if (block.getType() == checkFor) {
......@@ -24,5 +33,13 @@ public class ChangeBlockModifier implements BlockModifier {
}
}
}
@Override
public Map<String, Object> serialize() {
Map<String, Object> map = new HashMap<>();
map.put("checkFor", checkFor.toString());
map.put("changeTo", changeTo.toString());
map.put("modifierChance", modifierChance + "");
return map;
}
}
package fsmpi.gaming.tnt_crusher;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.serialization.ConfigurationSerialization;
import org.bukkit.plugin.java.JavaPlugin;
public class MyPlugin extends JavaPlugin {
ArrayList<BlockModifier> modifiers;
@Override
public void onEnable() {
ArrayList<BlockModifier> modifiers = new ArrayList<>();
modifiers.add(new ChangeBlockModifier(Material.COBBLESTONE, Material.DIAMOND_BLOCK, 1));
ConfigurationSerialization.registerClass(ChangeBlockModifier.class);
List<?> list = getConfig().getList("modifiers", new ArrayList<>());
modifiers = new ArrayList<>();
for (Object object : list) {
if (object instanceof BlockModifier) {
modifiers.add((BlockModifier) object);
}
}
getServer().getPluginManager().registerEvents(new ExplosionBlockHandler(modifiers), this);
}
@Override
public void onDisable() {
}
@Override
public FileConfiguration getConfig() {
if (super.getConfig().getCurrentPath().equals("")) {
super.saveDefaultConfig();
}
return super.getConfig();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment