mirror of
https://github.com/dje4321/TerrafirmaPunk-Tweaks.git
synced 2024-09-28 14:50:52 +00:00
Minetweaker support
Added MT support, various housekeeping
This commit is contained in:
parent
3dc658a78e
commit
980bc6e0b1
@ -1 +1,3 @@
|
||||
gradlew.bat setupdecompworkspace eclipse
|
||||
gradlew.bat setupdecompworkspace eclipse
|
||||
|
||||
pause
|
@ -39,7 +39,7 @@ allprojects
|
||||
|
||||
group = config.group_name
|
||||
version = config.mod_version
|
||||
archivesBaseName = "[${config.minecraft_version}]${config.mod_id}"
|
||||
archivesBaseName = config.mod_id + "-" + config.minecraft_version
|
||||
|
||||
minecraft
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
minecraft_version=1.7.10
|
||||
forge_version=10.13.4.1558-1.7.10
|
||||
tfc_version=0.79.27
|
||||
mod_version=1.03
|
||||
mod_version=1.05
|
||||
mod_id=TerraFirmaPunkTweaks
|
||||
group_name=com.onewolfe.tfptweaks
|
||||
group_name=com.JAWolfe.tfptweaks
|
51
builds/Minetweaker Instructions.zs
Normal file
51
builds/Minetweaker Instructions.zs
Normal file
@ -0,0 +1,51 @@
|
||||
//========================================================================
|
||||
// Heating items
|
||||
//========================================================================
|
||||
|
||||
//Add Recipe
|
||||
|
||||
//OutputStack, InputStack or InputOre, MeltingTemp(Default: 600, Normal Range 0-2000)[Optional], SpecificHeat(Default: 1, Normal Range 0-1)[Optional]
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<terrafirmacraft:item.Log>);
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<terrafirmacraft:item.Log>, 40);
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<terrafirmacraft:item.Log>, 40, 1);
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<ore:logWood>);
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<ore:logWood>, 40);
|
||||
//mods.tfptweaks.ItemHeat.addRecipe(<minecraft:coal:1>,<ore:logWood>, 40, 1);
|
||||
|
||||
//Remove Recipe
|
||||
|
||||
//InputStack
|
||||
//mods.tfptweaks.ItemHeat.removeRecipe(<terrafirmacraft:Sand>);
|
||||
|
||||
//========================================================================
|
||||
// Loom Recipes
|
||||
//========================================================================
|
||||
|
||||
//Add Recipe
|
||||
|
||||
//OutputStack, InputStack, CosmeticLoomOverlay (Range 1-3: 1-String, 2-Silk, 3-Rope)[Optional]
|
||||
//mods.tfptweaks.Loom.addRecipe(<minecraft:wool>, <terrafirmacraft:item.WoolCloth> * 4);
|
||||
//mods.tfptweaks.Loom.addRecipe(<minecraft:wool>, <terrafirmacraft:item.WoolCloth> * 4, 1);
|
||||
|
||||
//OutputStack, InputStack, ImageOverlayLocation("modID:location")
|
||||
//mods.tfptweaks.Loom.addRecipe(<minecraft:wool:11>, <terrafirmacraft:item.WoolCloth> * 4, "minecraft:blocks/wool_colored_blue");
|
||||
|
||||
//Remove Recipe
|
||||
|
||||
//InputStack {Stack size must be the same as the recipe to be removed}
|
||||
//mods.tfptweaks.Loom.removeRecipe(<terrafirmacraft:item.WoolYarn> * 16);
|
||||
|
||||
//========================================================================
|
||||
// Quern Recipes
|
||||
//========================================================================
|
||||
|
||||
//Add Recipe
|
||||
|
||||
//OutputStack, InputStack
|
||||
//mods.tfptweaks.Quern.addRecipe(<minecraft:dye:15> * 3, <minecraft:bone>);
|
||||
|
||||
//Remove Recipe
|
||||
|
||||
//OutputStack, InputStack {Stack sizes must be the same as the recipe to be removed}
|
||||
//mods.tfptweaks.Quern.removeRecipe(<terrafirmacraft:item.dyePowder:15> * 2, <minecraft:bone>);
|
||||
//mods.tfptweaks.Quern.removeRecipe(<terrafirmacraft:item.dyePowder:15>, <minecraft:bone>);
|
BIN
builds/TerraFirmaPunkTweaks-1.7.10-1.05.jar
Normal file
BIN
builds/TerraFirmaPunkTweaks-1.7.10-1.05.jar
Normal file
Binary file not shown.
BIN
builds/TerraFirmaPunkTweaks-1.7.10-deobf-1.05.jar
Normal file
BIN
builds/TerraFirmaPunkTweaks-1.7.10-deobf-1.05.jar
Normal file
Binary file not shown.
BIN
builds/TerraFirmaPunkTweaks-1.7.10-src-1.05.jar
Normal file
BIN
builds/TerraFirmaPunkTweaks-1.7.10-src-1.05.jar
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks;
|
||||
|
||||
import cpw.mods.fml.common.FMLLog;
|
||||
import org.apache.logging.log4j.Level;
|
@ -1,4 +1,4 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks;
|
||||
|
||||
import codechicken.nei.api.API;
|
||||
import codechicken.nei.api.IConfigureNEI;
|
@ -1,13 +1,16 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import flaxbeard.steamcraft.SteamcraftItems;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.CraftingManager;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import steamcraft.common.init.InitBlocks;
|
||||
import steamcraft.common.init.InitItems;
|
||||
|
||||
public class RecipeTweaks
|
||||
{
|
||||
@ -27,6 +30,16 @@ public class RecipeTweaks
|
||||
recipes.remove(i--);
|
||||
}
|
||||
}
|
||||
|
||||
OreDictionary.registerOre("itemAxe", new ItemStack(InitItems.axeSteam, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
}
|
||||
|
||||
public static void RecipeFixes()
|
||||
{
|
||||
if(Loader.isModLoaded("Steamcraft"))
|
||||
{
|
||||
OreDictionary.registerOre("itemAxe", new ItemStack(SteamcraftItems.steamAxe, 1, OreDictionary.WILDCARD_VALUE));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks;
|
||||
|
||||
public class References
|
||||
{
|
@ -1,28 +1,36 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks;
|
||||
|
||||
import com.JAWolfe.tfptweaks.handlers.*;
|
||||
import com.JAWolfe.tfptweaks.minetweaker.TFCTweaker;
|
||||
|
||||
import cpw.mods.fml.common.Mod;
|
||||
import cpw.mods.fml.common.Mod.EventHandler;
|
||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
|
||||
@Mod(modid = References.ModID, name = References.ModName, version = References.ModVersion, dependencies = References.ModDependencies)
|
||||
public class TerraFirmaPunkTweaks
|
||||
{
|
||||
@EventHandler
|
||||
public void init(FMLInitializationEvent event)
|
||||
public void preInit(FMLPreInitializationEvent event)
|
||||
{
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void initialize(FMLInitializationEvent event)
|
||||
{
|
||||
{
|
||||
RecipeTweaks.RecipeFixes();
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(new PlayerHandler());
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void postInit(FMLPostInitializationEvent event)
|
||||
{
|
||||
TFCTweaker.postInit();
|
||||
|
||||
RecipeTweaks.SC2RecipeTweaks();
|
||||
}
|
||||
}
|
@ -1,9 +1,7 @@
|
||||
package com.onewolfe.tfptweaks;
|
||||
package com.JAWolfe.tfptweaks.handlers;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import com.bioxx.tfc.TerraFirmaCraft;
|
||||
import com.bioxx.tfc.Handlers.EntityDamageHandler;
|
||||
import com.bioxx.tfc.Items.ItemTFCArmor;
|
||||
import com.bioxx.tfc.api.TFCBlocks;
|
||||
import com.bioxx.tfc.api.Enums.EnumDamageType;
|
||||
@ -12,7 +10,6 @@ import com.bioxx.tfc.api.Interfaces.ICausesDamage;
|
||||
import com.bioxx.tfc.api.Interfaces.IInnateArmor;
|
||||
|
||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
@ -58,9 +55,7 @@ public class PlayerHandler
|
||||
public void onDamaged(LivingHurtEvent event)
|
||||
{
|
||||
if(event.entity instanceof EntityPlayer)
|
||||
{
|
||||
//LogHelper.info(event.source.getDamageType() + " " + event.ammount);
|
||||
|
||||
{
|
||||
if (event.source == DamageSource.onFire || event.source == DamageSource.fall || event.source == DamageSource.drown ||
|
||||
event.source == DamageSource.lava || event.source == DamageSource.inWall || event.source == DamageSource.fallingBlock ||
|
||||
event.source.isExplosion() || event.source == DamageSource.inFire || event.source == DamageSource.starve)
|
||||
@ -80,7 +75,6 @@ public class PlayerHandler
|
||||
}
|
||||
else if(event.source.isUnblockable() && event.source.getSourceOfDamage() instanceof EntityLivingBase)
|
||||
{
|
||||
LogHelper.info("Unblockable");
|
||||
float damage = (float)((EntityLivingBase)event.source.getSourceOfDamage()).getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue();
|
||||
|
||||
if(damage <= 20)
|
||||
@ -184,7 +178,7 @@ public class PlayerHandler
|
||||
//6. Apply the damage to the player
|
||||
EntityArmorCalcEvent eventPost = new EntityArmorCalcEvent(entity, damage, EntityArmorCalcEvent.EventType.POST);
|
||||
MinecraftForge.EVENT_BUS.post(eventPost);
|
||||
LogHelper.info(entity.getClass() + " " + source.getDamageType() +", "+eventPre.incomingDamage+", "+eventPost.incomingDamage);
|
||||
//LogHelper.info(entity + " " + source.getDamageType() +", "+eventPre.incomingDamage+", "+eventPost.incomingDamage);
|
||||
float hasHealth = entity.getHealth();
|
||||
entity.setHealth(entity.getHealth()-eventPost.incomingDamage);
|
||||
entity.func_110142_aN().func_94547_a(source, hasHealth, eventPost.incomingDamage);
|
197
src/main/java/com/JAWolfe/tfptweaks/minetweaker/ItemHeat.java
Normal file
197
src/main/java/com/JAWolfe/tfptweaks/minetweaker/ItemHeat.java
Normal file
@ -0,0 +1,197 @@
|
||||
package com.JAWolfe.tfptweaks.minetweaker;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.bioxx.tfc.api.HeatIndex;
|
||||
import com.bioxx.tfc.api.HeatRegistry;
|
||||
|
||||
import minetweaker.IUndoableAction;
|
||||
import minetweaker.MineTweakerAPI;
|
||||
import minetweaker.api.item.IItemStack;
|
||||
import minetweaker.api.minecraft.MineTweakerMC;
|
||||
import minetweaker.api.oredict.IOreDictEntry;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import stanhebben.zenscript.annotations.ZenClass;
|
||||
import stanhebben.zenscript.annotations.ZenMethod;
|
||||
|
||||
@ZenClass("mods.tfptweaks.ItemHeat")
|
||||
public class ItemHeat
|
||||
{
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input, int heat, int specHeat)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
ItemStack outputStack = MineTweakerMC.getItemStack(output);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else if(outputStack == null || outputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing OutputStack");
|
||||
else if(heat < 0)
|
||||
MineTweakerAPI.logError("Item melting point cannot be less than 0");
|
||||
else if(specHeat < 0)
|
||||
MineTweakerAPI.logError("Item specific heat cannot be less than 0");
|
||||
else
|
||||
MineTweakerAPI.apply(new addHeatingAction(outputStack, inputStack, heat, specHeat));
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input, int heat)
|
||||
{
|
||||
addRecipe(output, input, heat, 1);
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input)
|
||||
{
|
||||
addRecipe(output, input, 600);
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IOreDictEntry oredictentry, int heat, int specHeat)
|
||||
{
|
||||
if (oredictentry != null && oredictentry.getAmount() > 0)
|
||||
{
|
||||
List<IItemStack> oreEntries = oredictentry.getItems();
|
||||
for(int i = 0; i < oreEntries.size(); i++)
|
||||
{
|
||||
addRecipe(output, oreEntries.get(i), heat, specHeat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IOreDictEntry oredictentry, int heat)
|
||||
{
|
||||
addRecipe(output, oredictentry, heat, 1);
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IOreDictEntry oredictentry)
|
||||
{
|
||||
addRecipe(output, oredictentry, 600);
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void removeRecipe(IItemStack input)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else
|
||||
MineTweakerAPI.apply(new removeHeatingAction(inputStack));
|
||||
}
|
||||
|
||||
private static class addHeatingAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
private ItemStack outputStack;
|
||||
private int meltingPoint;
|
||||
private int specificHeat;
|
||||
|
||||
public addHeatingAction(ItemStack output, ItemStack input, int heat, int specHeat)
|
||||
{
|
||||
this.outputStack = output;
|
||||
this.inputStack = input;
|
||||
this.meltingPoint = heat;
|
||||
this.specificHeat = specHeat;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
HeatRegistry.getInstance().addIndex(new HeatIndex(inputStack, specificHeat, meltingPoint, outputStack).setMinMax(outputStack.getItemDamage()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe()
|
||||
{
|
||||
return "Adding item '" + inputStack.getDisplayName() + "' to heated items with melting point '" + meltingPoint
|
||||
+ "' and specific heat '" + specificHeat + "' to yeild '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo()
|
||||
{
|
||||
List<HeatIndex> heatList = HeatRegistry.getInstance().getHeatList();
|
||||
for (int i = 0; i < heatList.size(); i++)
|
||||
{
|
||||
if (heatList.get(i) != null)
|
||||
{
|
||||
if (heatList.get(i).matches(inputStack) && heatList.get(i).getOutputItem() == outputStack.getItem()
|
||||
&& heatList.get(i).meltTemp == meltingPoint && heatList.get(i).specificHeat == specificHeat)
|
||||
heatList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo()
|
||||
{
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from heated items with melting point '" + meltingPoint
|
||||
+ "' and specific heat '" + specificHeat + "' yeilding '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static class removeHeatingAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
|
||||
public removeHeatingAction(ItemStack input)
|
||||
{
|
||||
this.inputStack = input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
List<HeatIndex> heatList = HeatRegistry.getInstance().getHeatList();
|
||||
for (int i = 0; i < heatList.size(); i++)
|
||||
{
|
||||
if (heatList.get(i) != null)
|
||||
{
|
||||
if (heatList.get(i).matches(inputStack))
|
||||
heatList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe() {
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from Heated Items.'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo() {
|
||||
//Cannot undo
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo() {
|
||||
//Cannot undo
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
174
src/main/java/com/JAWolfe/tfptweaks/minetweaker/Loom.java
Normal file
174
src/main/java/com/JAWolfe/tfptweaks/minetweaker/Loom.java
Normal file
@ -0,0 +1,174 @@
|
||||
package com.JAWolfe.tfptweaks.minetweaker;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.bioxx.tfc.Reference;
|
||||
import com.bioxx.tfc.api.Crafting.LoomManager;
|
||||
import com.bioxx.tfc.api.Crafting.LoomRecipe;
|
||||
|
||||
import minetweaker.IUndoableAction;
|
||||
import minetweaker.MineTweakerAPI;
|
||||
import minetweaker.api.item.IItemStack;
|
||||
import minetweaker.api.minecraft.MineTweakerMC;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import stanhebben.zenscript.annotations.ZenClass;
|
||||
import stanhebben.zenscript.annotations.ZenMethod;
|
||||
|
||||
@ZenClass("mods.tfptweaks.Loom")
|
||||
public class Loom
|
||||
{
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input, String resource)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
ItemStack outputStack = MineTweakerMC.getItemStack(output);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else if(outputStack == null || outputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing OutputStack");
|
||||
else if(resource != null && resource.length() == 0)
|
||||
MineTweakerAPI.logError("Missing Resource Location");
|
||||
else
|
||||
MineTweakerAPI.apply(new addLoomAction(outputStack, inputStack, resource));
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input, int overlay)
|
||||
{
|
||||
switch(overlay)
|
||||
{
|
||||
case 1: addRecipe(output, input, Reference.MOD_ID + ":" + "blocks/String"); break;
|
||||
case 2: addRecipe(output, input, Reference.MOD_ID + ":" + "blocks/Silk"); break;
|
||||
case 3: addRecipe(output, input, Reference.MOD_ID + ":" + "blocks/Rope"); break;
|
||||
default: addRecipe(output, input, Reference.MOD_ID + ":" + "blocks/String"); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input)
|
||||
{
|
||||
addRecipe(output, input, 1);
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void removeRecipe(IItemStack input)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else
|
||||
MineTweakerAPI.apply(new removeLoomAction(inputStack));
|
||||
}
|
||||
|
||||
private static class addLoomAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
private ItemStack outputStack;
|
||||
private String modid;
|
||||
private String pathLocation;
|
||||
|
||||
public addLoomAction(ItemStack output, ItemStack input, String location)
|
||||
{
|
||||
this.inputStack = input;
|
||||
this.outputStack = output;
|
||||
|
||||
String[] itemresource = location.split(":");
|
||||
this.modid = itemresource[0];
|
||||
this.pathLocation = "textures/" + itemresource[1] + ".png";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
LoomManager.getInstance().addRecipe(new LoomRecipe(inputStack, outputStack), new ResourceLocation(modid, pathLocation));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe()
|
||||
{
|
||||
return "Adding item '" + inputStack.getDisplayName() + "' to loom yeilding '" + outputStack.getDisplayName()
|
||||
+ "' with the resource location of '" + modid +":" + pathLocation + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo()
|
||||
{
|
||||
List<LoomRecipe> LoomList = LoomManager.getInstance().getRecipes();
|
||||
for (int i = 0; i < LoomList.size(); i++)
|
||||
{
|
||||
if (LoomList.get(i) != null)
|
||||
{
|
||||
if (LoomList.get(i).matches(inputStack))
|
||||
LoomList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo() {
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from loom'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static class removeLoomAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
|
||||
public removeLoomAction(ItemStack input)
|
||||
{
|
||||
this.inputStack = input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
List<LoomRecipe> LoomList = LoomManager.getInstance().getRecipes();
|
||||
for (int i = 0; i < LoomList.size(); i++)
|
||||
{
|
||||
if (LoomList.get(i) != null)
|
||||
{
|
||||
if (LoomList.get(i).matches(inputStack))
|
||||
LoomList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe() {
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from loom'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
183
src/main/java/com/JAWolfe/tfptweaks/minetweaker/Quern.java
Normal file
183
src/main/java/com/JAWolfe/tfptweaks/minetweaker/Quern.java
Normal file
@ -0,0 +1,183 @@
|
||||
package com.JAWolfe.tfptweaks.minetweaker;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.bioxx.tfc.api.Crafting.QuernManager;
|
||||
import com.bioxx.tfc.api.Crafting.QuernRecipe;
|
||||
|
||||
import minetweaker.IUndoableAction;
|
||||
import minetweaker.MineTweakerAPI;
|
||||
import minetweaker.api.item.IItemStack;
|
||||
import minetweaker.api.minecraft.MineTweakerMC;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import stanhebben.zenscript.annotations.ZenClass;
|
||||
import stanhebben.zenscript.annotations.ZenMethod;
|
||||
|
||||
@ZenClass("mods.tfptweaks.Quern")
|
||||
public class Quern
|
||||
{
|
||||
@ZenMethod
|
||||
public static void addRecipe(IItemStack output, IItemStack input)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
ItemStack outputStack = MineTweakerMC.getItemStack(output);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else if(outputStack == null || outputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing OutputStack");
|
||||
else
|
||||
MineTweakerAPI.apply(new addQuernAction(outputStack, inputStack));
|
||||
}
|
||||
|
||||
@ZenMethod
|
||||
public static void removeRecipe(IItemStack output, IItemStack input)
|
||||
{
|
||||
ItemStack inputStack = MineTweakerMC.getItemStack(input);
|
||||
ItemStack outputStack = MineTweakerMC.getItemStack(output);
|
||||
|
||||
if(inputStack == null || inputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing InputStack");
|
||||
else if(outputStack == null || outputStack.getItem() == null)
|
||||
MineTweakerAPI.logError("Missing OutputStack");
|
||||
else
|
||||
MineTweakerAPI.apply(new removeQuernAction(outputStack, inputStack));
|
||||
}
|
||||
|
||||
private static class addQuernAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
private ItemStack outputStack;
|
||||
|
||||
public addQuernAction(ItemStack output, ItemStack input)
|
||||
{
|
||||
|
||||
this.outputStack = output;
|
||||
this.inputStack = input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
QuernManager.getInstance().addRecipe(new QuernRecipe(inputStack, outputStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe()
|
||||
{
|
||||
return "Adding item '" + inputStack.getDisplayName() + "' to the Quern to yeild '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo()
|
||||
{
|
||||
List<QuernRecipe> quernList = QuernManager.getInstance().getRecipes();
|
||||
for (int i = 0; i < quernList.size(); i++)
|
||||
{
|
||||
if (quernList.get(i) != null)
|
||||
{
|
||||
if (quernList.get(i).isInItem(inputStack) && ItemStack.areItemStacksEqual(quernList.get(i).getResult(), outputStack))
|
||||
quernList.remove(i--);
|
||||
}
|
||||
}
|
||||
|
||||
if(QuernManager.getInstance().findMatchingRecipe(inputStack) == null && QuernManager.getInstance().isValidItem(inputStack))
|
||||
{
|
||||
List<ItemStack> validItemsList = QuernManager.getInstance().getValidItems();
|
||||
for (int i = 0; i < validItemsList.size(); i++)
|
||||
{
|
||||
if (validItemsList.get(i) != null)
|
||||
{
|
||||
if (ItemStack.areItemStacksEqual(validItemsList.get(i), inputStack))
|
||||
validItemsList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo()
|
||||
{
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from the Quern yeilding '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static class removeQuernAction implements IUndoableAction
|
||||
{
|
||||
private ItemStack inputStack;
|
||||
private ItemStack outputStack;
|
||||
|
||||
public removeQuernAction(ItemStack output, ItemStack input)
|
||||
{
|
||||
this.outputStack = output;
|
||||
this.inputStack = input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply()
|
||||
{
|
||||
List<QuernRecipe> quernList = QuernManager.getInstance().getRecipes();
|
||||
for (int i = 0; i < quernList.size(); i++)
|
||||
{
|
||||
if (quernList.get(i) != null)
|
||||
{
|
||||
if (quernList.get(i).isInItem(inputStack) && ItemStack.areItemStacksEqual(quernList.get(i).getResult(), outputStack))
|
||||
quernList.remove(i--);
|
||||
}
|
||||
}
|
||||
|
||||
if(QuernManager.getInstance().findMatchingRecipe(inputStack) == null && QuernManager.getInstance().isValidItem(inputStack))
|
||||
{
|
||||
List<ItemStack> validItemsList = QuernManager.getInstance().getValidItems();
|
||||
for (int i = 0; i < validItemsList.size(); i++)
|
||||
{
|
||||
if (validItemsList.get(i) != null)
|
||||
{
|
||||
if (ItemStack.areItemStacksEqual(validItemsList.get(i), inputStack))
|
||||
validItemsList.remove(i--);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describe()
|
||||
{
|
||||
return "Removing item '" + inputStack.getDisplayName() + "' from the Quern yeilding '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canUndo()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void undo()
|
||||
{
|
||||
QuernManager.getInstance().addRecipe(new QuernRecipe(inputStack, outputStack));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String describeUndo()
|
||||
{
|
||||
return "Adding item '" + inputStack.getDisplayName() + "' to the Quern to yeild '" + outputStack.getDisplayName() + "'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getOverrideKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
package com.JAWolfe.tfptweaks.minetweaker;
|
||||
|
||||
import cpw.mods.fml.common.Loader;
|
||||
import minetweaker.MineTweakerAPI;
|
||||
|
||||
public class TFCTweaker
|
||||
{
|
||||
public static void postInit()
|
||||
{
|
||||
if (Loader.isModLoaded("MineTweaker3"))
|
||||
{
|
||||
MineTweakerAPI.registerClass(ItemHeat.class);
|
||||
MineTweakerAPI.registerClass(Loom.class);
|
||||
MineTweakerAPI.registerClass(Quern.class);
|
||||
}
|
||||
}
|
||||
}
|
@ -8,7 +8,7 @@
|
||||
"mcversion": "${minecraft_version}",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
"authorList": [""],
|
||||
"authorList": ["JAWolfe, OneWolfe"],
|
||||
"credits": "",
|
||||
"logoFile": "",
|
||||
"screenshots": [],
|
||||
|
Loading…
Reference in New Issue
Block a user