mirror of
https://github.com/dje4321/TerrafirmaPunk-Tweaks.git
synced 2024-09-28 23:00:54 +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
|
group = config.group_name
|
||||||
version = config.mod_version
|
version = config.mod_version
|
||||||
archivesBaseName = "[${config.minecraft_version}]${config.mod_id}"
|
archivesBaseName = config.mod_id + "-" + config.minecraft_version
|
||||||
|
|
||||||
minecraft
|
minecraft
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
minecraft_version=1.7.10
|
minecraft_version=1.7.10
|
||||||
forge_version=10.13.4.1558-1.7.10
|
forge_version=10.13.4.1558-1.7.10
|
||||||
tfc_version=0.79.27
|
tfc_version=0.79.27
|
||||||
mod_version=1.03
|
mod_version=1.05
|
||||||
mod_id=TerraFirmaPunkTweaks
|
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 cpw.mods.fml.common.FMLLog;
|
||||||
import org.apache.logging.log4j.Level;
|
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.API;
|
||||||
import codechicken.nei.api.IConfigureNEI;
|
import codechicken.nei.api.IConfigureNEI;
|
@ -1,13 +1,16 @@
|
|||||||
package com.onewolfe.tfptweaks;
|
package com.JAWolfe.tfptweaks;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import cpw.mods.fml.common.Loader;
|
import cpw.mods.fml.common.Loader;
|
||||||
|
import flaxbeard.steamcraft.SteamcraftItems;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.item.crafting.CraftingManager;
|
import net.minecraft.item.crafting.CraftingManager;
|
||||||
import net.minecraft.item.crafting.IRecipe;
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
import net.minecraftforge.oredict.OreDictionary;
|
||||||
import steamcraft.common.init.InitBlocks;
|
import steamcraft.common.init.InitBlocks;
|
||||||
|
import steamcraft.common.init.InitItems;
|
||||||
|
|
||||||
public class RecipeTweaks
|
public class RecipeTweaks
|
||||||
{
|
{
|
||||||
@ -27,6 +30,16 @@ public class RecipeTweaks
|
|||||||
recipes.remove(i--);
|
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
|
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;
|
||||||
import cpw.mods.fml.common.Mod.EventHandler;
|
import cpw.mods.fml.common.Mod.EventHandler;
|
||||||
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
||||||
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
||||||
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
||||||
import net.minecraftforge.common.MinecraftForge;
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
|
|
||||||
@Mod(modid = References.ModID, name = References.ModName, version = References.ModVersion, dependencies = References.ModDependencies)
|
@Mod(modid = References.ModID, name = References.ModName, version = References.ModVersion, dependencies = References.ModDependencies)
|
||||||
public class TerraFirmaPunkTweaks
|
public class TerraFirmaPunkTweaks
|
||||||
{
|
{
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void init(FMLInitializationEvent event)
|
public void preInit(FMLPreInitializationEvent event)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void initialize(FMLInitializationEvent event)
|
public void initialize(FMLInitializationEvent event)
|
||||||
{
|
{
|
||||||
|
RecipeTweaks.RecipeFixes();
|
||||||
|
|
||||||
MinecraftForge.EVENT_BUS.register(new PlayerHandler());
|
MinecraftForge.EVENT_BUS.register(new PlayerHandler());
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void postInit(FMLPostInitializationEvent event)
|
public void postInit(FMLPostInitializationEvent event)
|
||||||
{
|
{
|
||||||
|
TFCTweaker.postInit();
|
||||||
|
|
||||||
RecipeTweaks.SC2RecipeTweaks();
|
RecipeTweaks.SC2RecipeTweaks();
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,9 +1,7 @@
|
|||||||
package com.onewolfe.tfptweaks;
|
package com.JAWolfe.tfptweaks.handlers;
|
||||||
|
|
||||||
import java.util.Random;
|
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.Items.ItemTFCArmor;
|
||||||
import com.bioxx.tfc.api.TFCBlocks;
|
import com.bioxx.tfc.api.TFCBlocks;
|
||||||
import com.bioxx.tfc.api.Enums.EnumDamageType;
|
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 com.bioxx.tfc.api.Interfaces.IInnateArmor;
|
||||||
|
|
||||||
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
|
||||||
import net.minecraft.entity.Entity;
|
|
||||||
import net.minecraft.entity.EntityLiving;
|
import net.minecraft.entity.EntityLiving;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
import net.minecraft.entity.SharedMonsterAttributes;
|
import net.minecraft.entity.SharedMonsterAttributes;
|
||||||
@ -59,8 +56,6 @@ public class PlayerHandler
|
|||||||
{
|
{
|
||||||
if(event.entity instanceof EntityPlayer)
|
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 ||
|
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 == DamageSource.lava || event.source == DamageSource.inWall || event.source == DamageSource.fallingBlock ||
|
||||||
event.source.isExplosion() || event.source == DamageSource.inFire || event.source == DamageSource.starve)
|
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)
|
else if(event.source.isUnblockable() && event.source.getSourceOfDamage() instanceof EntityLivingBase)
|
||||||
{
|
{
|
||||||
LogHelper.info("Unblockable");
|
|
||||||
float damage = (float)((EntityLivingBase)event.source.getSourceOfDamage()).getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue();
|
float damage = (float)((EntityLivingBase)event.source.getSourceOfDamage()).getEntityAttribute(SharedMonsterAttributes.attackDamage).getAttributeValue();
|
||||||
|
|
||||||
if(damage <= 20)
|
if(damage <= 20)
|
||||||
@ -184,7 +178,7 @@ public class PlayerHandler
|
|||||||
//6. Apply the damage to the player
|
//6. Apply the damage to the player
|
||||||
EntityArmorCalcEvent eventPost = new EntityArmorCalcEvent(entity, damage, EntityArmorCalcEvent.EventType.POST);
|
EntityArmorCalcEvent eventPost = new EntityArmorCalcEvent(entity, damage, EntityArmorCalcEvent.EventType.POST);
|
||||||
MinecraftForge.EVENT_BUS.post(eventPost);
|
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();
|
float hasHealth = entity.getHealth();
|
||||||
entity.setHealth(entity.getHealth()-eventPost.incomingDamage);
|
entity.setHealth(entity.getHealth()-eventPost.incomingDamage);
|
||||||
entity.func_110142_aN().func_94547_a(source, hasHealth, 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}",
|
"mcversion": "${minecraft_version}",
|
||||||
"url": "",
|
"url": "",
|
||||||
"updateUrl": "",
|
"updateUrl": "",
|
||||||
"authorList": [""],
|
"authorList": ["JAWolfe, OneWolfe"],
|
||||||
"credits": "",
|
"credits": "",
|
||||||
"logoFile": "",
|
"logoFile": "",
|
||||||
"screenshots": [],
|
"screenshots": [],
|
||||||
|
Loading…
Reference in New Issue
Block a user