Interaction hooks need to be re-added but compiles {Doesn't run}

This commit is contained in:
LexManos committed 2016-03-09 14:11:56 -08:00
1 parent 846910b8c8
commit 7b7156e87f
11 files changed
+136 -74

No files matched your search

@@ -604,13 +604,19 @@ public class ForgeHooksClient
return (new SimpleBakedModel.Builder(state, ibakedmodel, texture, pos)).makeBakedModel();
}
public static boolean shouldCauseReequipAnimation(ItemStack from, ItemStack to)
private static int slotMainHand = 0;
public static boolean shouldCauseReequipAnimation(ItemStack from, ItemStack to, int slot)
{
if(!Objects.equal(from, to) || from == null)
{
return false;
}
// FIXME: 3rd argument?
return from.getItem().shouldCauseReequipAnimation(from, to);
boolean changed = false;
if (slot != -1)
{
changed = slot != slotMainHand;
slotMainHand = slot;
}
return from.getItem().shouldCauseReequipAnimation(from, to, changed);
}
}
@@ -249,7 +249,7 @@ public class ModelLoader extends ModelBakery
}
registerVariantNames();
List<String> itemVariants = Lists.newArrayList();
for(Item item : GameData.getItemRegistry().typeSafeIterable())
{
@@ -560,7 +560,7 @@ public class ModelLoader extends ModelBakery
return bakeNormal(model, perState, state.apply(Optional.<IModelPart>absent()).or(TRSRTransformation.identity()), newTransforms, format, bakedTextureGetter, uvlock);
}
private IBakedModel bakeNormal(ModelBlock model, IModelState perState, final TRSRTransformation modelState, List<TRSRTransformation> newTransforms, VertexFormat format, final Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter, boolean uvLocked)
private IBakedModel bakeNormal(ModelBlock model, IModelState perState, final TRSRTransformation modelState, List<TRSRTransformation> newTransforms, final VertexFormat format, final Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter, boolean uvLocked)
{
TextureAtlasSprite particle = bakedTextureGetter.apply(new ResourceLocation(model.resolveTextureName("particle")));
SimpleBakedModel.Builder builder = (new SimpleBakedModel.Builder(model, model.func_187967_g())).setTexture(particle);
@@ -656,7 +656,7 @@ public class ForgeHooks
{
// Logic from tryHarvestBlock for pre-canceling the event
boolean preCancelEvent = false;
if (gameType.isCreative() && entityPlayer.getHeldItem() != null && entityPlayer.getHeldItem().getItem() instanceof ItemSword)
if (gameType.isCreative() && entityPlayer.func_184614_ca() != null && entityPlayer.func_184614_ca().getItem() instanceof ItemSword)
preCancelEvent = true;
if (gameType.isAdventure())
@@ -666,7 +666,7 @@ public class ForgeHooks
if (!entityPlayer.isAllowEdit())
{
ItemStack itemstack = entityPlayer.getCurrentEquippedItem();
ItemStack itemstack = entityPlayer.func_184614_ca();
if (itemstack == null || !itemstack.canDestroy(world.getBlockState(pos).getBlock()))
preCancelEvent = true;
}
@@ -865,7 +865,7 @@ public class ForgeHooks
stack = stack.getItem().getContainerItem(stack);
if (stack != null && stack.isItemStackDamageable() && stack.getMetadata() > stack.getMaxDamage())
{
MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(craftingPlayer.get(), stack));
ForgeEventFactory.onPlayerDestroyItem(craftingPlayer.get(), stack, null);
return null;
}
return stack;
@@ -904,7 +904,7 @@ public class ForgeHooks
public static boolean onPlayerAttackTarget(EntityPlayer player, Entity target)
{
if (MinecraftForge.EVENT_BUS.post(new AttackEntityEvent(player, target))) return false;
ItemStack stack = player.getCurrentEquippedItem();
ItemStack stack = player.func_184614_ca();
if (stack != null && stack.getItem().onLeftClickEntity(stack, player, target)) return false;
return true;
}
@@ -27,7 +27,7 @@ import net.minecraft.util.EnumHand;
public class PlayerDestroyItemEvent extends PlayerEvent
{
private final ItemStack original;
private final EnumHand hand;
private final EnumHand hand; // May be null if this player destroies the item by any use besides holding it.
public PlayerDestroyItemEvent(EntityPlayer player, ItemStack original, EnumHand hand)
{
super(player);
@@ -1,6 +1,7 @@
package net.minecraftforge.items.wrapper;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
public class PlayerArmorInvWrapper extends InvWrapper
@@ -31,8 +32,17 @@ public class PlayerArmorInvWrapper extends InvWrapper
@Override
public ItemStack insertItem(int slot, ItemStack stack, boolean simulate)
{
EntityEquipmentSlot equ = null;
for (EntityEquipmentSlot s : EntityEquipmentSlot.values())
{
if (s.func_188453_a() == EntityEquipmentSlot.Type.ARMOR && s.func_188454_b() == slot)
{
equ = s;
break;
}
}
// check if it's valid for the armor slot
if (slot < 4 && stack != null && stack.getItem().isValidArmor(stack, 3 - slot, inventoryPlayer.player))
if (slot < 4 && stack != null && stack.getItem().isValidArmor(stack, equ, inventoryPlayer.player))
{
return super.insertItem(slot + offset, stack, simulate);
}