ec562b62ea
Also changes like all packages inb4 "jared changes a package name in ModTweaker2 breaking compatability with everything" drama tweet.
114 lines
2.8 KiB
Java
114 lines
2.8 KiB
Java
package modtweaker2.mods.botania.handlers;
|
|
|
|
import minetweaker.IUndoableAction;
|
|
import minetweaker.MineTweakerAPI;
|
|
import minetweaker.api.oredict.IOreDictEntry;
|
|
import stanhebben.zenscript.annotations.ZenClass;
|
|
import stanhebben.zenscript.annotations.ZenMethod;
|
|
import vazkii.botania.api.BotaniaAPI;
|
|
|
|
@ZenClass("mods.botania.Orechid")
|
|
public class Orechid {
|
|
@ZenMethod
|
|
public static void addOre(IOreDictEntry oreDict, int weight) {
|
|
MineTweakerAPI.apply(new Add(oreDict.getName(), weight));
|
|
}
|
|
|
|
@ZenMethod
|
|
public static void addOre(String oreDict, int weight) {
|
|
MineTweakerAPI.apply(new Add(oreDict, weight));
|
|
}
|
|
|
|
private static class Add implements IUndoableAction {
|
|
String oreDict;
|
|
int weight;
|
|
|
|
public Add(String ore, int prop) {
|
|
oreDict = ore;
|
|
weight = prop;
|
|
}
|
|
|
|
@Override
|
|
public void apply() {
|
|
BotaniaAPI.addOreWeight(oreDict, weight);
|
|
}
|
|
|
|
@Override
|
|
public String describe() {
|
|
return "Adding Orechid Ore Weight: " + oreDict + ":" + weight;
|
|
}
|
|
|
|
@Override
|
|
public boolean canUndo() {
|
|
return oreDict != null;
|
|
}
|
|
|
|
@Override
|
|
public void undo() {
|
|
BotaniaAPI.oreWeights.remove(oreDict);
|
|
}
|
|
|
|
@Override
|
|
public String describeUndo() {
|
|
return "Removing Orechid Ore: " + oreDict;
|
|
}
|
|
|
|
@Override
|
|
public String getOverrideKey() {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
@ZenMethod
|
|
public static void removeOre(IOreDictEntry oreDict) {
|
|
MineTweakerAPI.apply(new Remove(oreDict.getName()));
|
|
}
|
|
|
|
@ZenMethod
|
|
public static void removeOre(String oreDict) {
|
|
MineTweakerAPI.apply(new Remove(oreDict));
|
|
}
|
|
|
|
private static class Remove implements IUndoableAction {
|
|
String oreDict;
|
|
int weight;
|
|
|
|
public Remove(String ore) {
|
|
oreDict = ore;
|
|
}
|
|
|
|
@Override
|
|
public void apply() {
|
|
weight = BotaniaAPI.getOreWeight(oreDict);
|
|
BotaniaAPI.oreWeights.remove(oreDict);
|
|
}
|
|
|
|
@Override
|
|
public String describe() {
|
|
return "Removing Orechid Ore: " + oreDict;
|
|
}
|
|
|
|
@Override
|
|
public boolean canUndo() {
|
|
return weight > 0;
|
|
}
|
|
|
|
@Override
|
|
public void undo() {
|
|
BotaniaAPI.addOreWeight(oreDict, weight);
|
|
}
|
|
|
|
@Override
|
|
public String describeUndo() {
|
|
return "Restoring Orechid Ore Weight: " + oreDict + ":" + weight;
|
|
}
|
|
|
|
@Override
|
|
public String getOverrideKey() {
|
|
return null;
|
|
}
|
|
}
|
|
}
|