This commit is contained in:
Tschipp 2017-08-12 15:47:34 +02:00
parent ce9ee25342
commit 2415e5db13
3 changed files with 39 additions and 24 deletions

View File

@ -31,6 +31,7 @@ import net.minecraftforge.client.event.RenderHandEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent;
import net.minecraftforge.fml.relauncher.ReflectionHelper;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import tschipp.carryon.common.config.CarryOnConfig;
@ -90,7 +91,7 @@ public class RenderEvents
public void inputEvent(InputEvent event) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException
{
GameSettings settings = Minecraft.getMinecraft().gameSettings;
Field field = KeyBinding.class.getDeclaredField("pressed");
Field field = KeyBinding.class.getDeclaredFields()[7];
field.setAccessible(true);
ItemStack stack = Minecraft.getMinecraft().player.getHeldItemMainhand();
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack))

View File

@ -17,6 +17,7 @@ import net.minecraft.nbt.NBTException;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTUtil;
import net.minecraft.util.IntHashMap;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry.Impl;
import net.minecraftforge.fml.relauncher.Side;
@ -30,8 +31,8 @@ public class ModelOverridesHandler
public static HashMap<NBTTagCompound, Object> OVERRIDE_OBJECTS = new HashMap<NBTTagCompound, Object>();
/*
* This class is really ugly, will probably be replaced by something else
* - Tschipp
* This class is really ugly, will probably be replaced by something else -
* Tschipp
*/
public static void initOverrides()
{
@ -80,30 +81,43 @@ public class ModelOverridesHandler
else if (toOverride.contains("}"))
throw new InvalidConfigException("Missing { at line " + i + " : " + currentline);
int meta = StringParser.getMeta(toOverride);
if (meta == 0)
toOverrideObject = StringParser.getBlock(toOverride);
else
toOverrideObject = StringParser.getBlockState(toOverride);
String modidToOverride = "minecraft";
String modidOverride = "minecraft";
overrideObject = StringParser.getItem(override);
if (Block.getBlockFromItem((Item) overrideObject) != Blocks.AIR)
overrideObject = StringParser.getItemStack(override);
else
overrideObject = StringParser.getBlockState(override);
if (toOverride.contains(":"))
modidToOverride = toOverride.replace(toOverride.substring(toOverride.indexOf(":")), "");
NBTTagCompound keyComp = new NBTTagCompound();
keyComp.setTag("nbttag", tag);
if (toOverrideObject instanceof Block)
if (override.contains(":"))
modidOverride = override.replace(override.substring(override.indexOf(":")), "");
if (Loader.isModLoaded(modidOverride) && Loader.isModLoaded(modidToOverride))
{
keyComp.setString("block", ((Block) toOverrideObject).getRegistryName().toString());
int meta = StringParser.getMeta(toOverride);
if (meta == 0)
toOverrideObject = StringParser.getBlock(toOverride);
else
toOverrideObject = StringParser.getBlockState(toOverride);
overrideObject = StringParser.getItem(override);
if (Block.getBlockFromItem((Item) overrideObject) != Blocks.AIR)
overrideObject = StringParser.getItemStack(override);
else
overrideObject = StringParser.getBlockState(override);
NBTTagCompound keyComp = new NBTTagCompound();
keyComp.setTag("nbttag", tag);
if (toOverrideObject instanceof Block)
{
keyComp.setString("block", ((Block) toOverrideObject).getRegistryName().toString());
}
else
{
keyComp.setInteger("stateid", Block.getStateId((IBlockState) toOverrideObject));
keyComp.setString("block", ((IBlockState) toOverrideObject).getBlock().getRegistryName().toString());
}
OVERRIDE_OBJECTS.put(keyComp, overrideObject);
}
else
{
keyComp.setInteger("stateid", Block.getStateId((IBlockState) toOverrideObject));
keyComp.setString("block", ((IBlockState) toOverrideObject).getBlock().getRegistryName().toString());
}
OVERRIDE_OBJECTS.put(keyComp, overrideObject);
}
}

View File

@ -1,5 +1,6 @@
package tschipp.carryon.common.item;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
@ -26,7 +27,6 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;
import scala.actors.threadpool.Arrays;
import tschipp.carryon.CarryOn;
import tschipp.carryon.common.config.CarryOnConfig;