Added hover highlight for multimeter and shaft placement
This commit is contained in:
parent
7ba1c1c52e
commit
915a2663ee
6 changed files with 18 additions and 5 deletions
|
@ -8,16 +8,18 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.util.Icon;
|
import net.minecraft.util.Icon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeDirection;
|
import net.minecraftforge.common.ForgeDirection;
|
||||||
|
import resonantinduction.core.prefab.part.IHighlight;
|
||||||
import resonantinduction.electrical.wire.EnumWireMaterial;
|
import resonantinduction.electrical.wire.EnumWireMaterial;
|
||||||
import calclavia.lib.utility.LanguageUtility;
|
import calclavia.lib.utility.LanguageUtility;
|
||||||
import codechicken.lib.vec.BlockCoord;
|
import codechicken.lib.vec.BlockCoord;
|
||||||
import codechicken.lib.vec.Vector3;
|
import codechicken.lib.vec.Vector3;
|
||||||
|
import codechicken.microblock.FacePlacementGrid$;
|
||||||
import codechicken.multipart.ControlKeyModifer;
|
import codechicken.multipart.ControlKeyModifer;
|
||||||
import codechicken.multipart.JItemMultiPart;
|
import codechicken.multipart.JItemMultiPart;
|
||||||
import codechicken.multipart.MultiPartRegistry;
|
import codechicken.multipart.MultiPartRegistry;
|
||||||
import codechicken.multipart.TMultiPart;
|
import codechicken.multipart.TMultiPart;
|
||||||
|
|
||||||
public class ItemMultimeter extends JItemMultiPart
|
public class ItemMultimeter extends JItemMultiPart implements IHighlight
|
||||||
{
|
{
|
||||||
private Icon[] icons = new Icon[EnumWireMaterial.values().length];
|
private Icon[] icons = new Icon[EnumWireMaterial.values().length];
|
||||||
|
|
||||||
|
@ -29,6 +31,8 @@ public class ItemMultimeter extends JItemMultiPart
|
||||||
@Override
|
@Override
|
||||||
public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 hit)
|
public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int side, Vector3 hit)
|
||||||
{
|
{
|
||||||
|
side = FacePlacementGrid$.MODULE$.getHitSlot(hit, side);
|
||||||
|
|
||||||
if (side <= 1)
|
if (side <= 1)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -91,7 +91,7 @@ public class PartMultimeter extends JCuboidPart implements IConnector<Multimeter
|
||||||
|
|
||||||
public void preparePlacement(int side, int itemDamage)
|
public void preparePlacement(int side, int itemDamage)
|
||||||
{
|
{
|
||||||
this.side = (byte) (side ^ 1);
|
this.side = (byte) (side);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasMultimeter(int x, int y, int z)
|
public boolean hasMultimeter(int x, int y, int z)
|
||||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraftforge.event.ForgeSubscribe;
|
||||||
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import resonantinduction.core.prefab.part.IHighlight;
|
||||||
import codechicken.lib.render.RenderUtils;
|
import codechicken.lib.render.RenderUtils;
|
||||||
import codechicken.lib.vec.Vector3;
|
import codechicken.lib.vec.Vector3;
|
||||||
import codechicken.microblock.FacePlacementGrid$;
|
import codechicken.microblock.FacePlacementGrid$;
|
||||||
|
@ -18,7 +19,7 @@ public class MicroblockHighlightHandler
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
public void drawBlockHighlight(DrawBlockHighlightEvent event)
|
public void drawBlockHighlight(DrawBlockHighlightEvent event)
|
||||||
{
|
{
|
||||||
if (event.currentItem != null && event.currentItem.getItem() == Mechanical.itemGear && event.target != null && event.target.typeOfHit == EnumMovingObjectType.TILE)
|
if (event.currentItem != null && (event.currentItem.getItem() instanceof IHighlight) && event.target != null && event.target.typeOfHit == EnumMovingObjectType.TILE)
|
||||||
{
|
{
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
RenderUtils.translateToWorldCoords(event.player, event.partialTicks);
|
RenderUtils.translateToWorldCoords(event.player, event.partialTicks);
|
||||||
|
|
|
@ -7,6 +7,7 @@ import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.core.prefab.part.IHighlight;
|
||||||
import codechicken.lib.vec.BlockCoord;
|
import codechicken.lib.vec.BlockCoord;
|
||||||
import codechicken.lib.vec.Vector3;
|
import codechicken.lib.vec.Vector3;
|
||||||
import codechicken.microblock.FacePlacementGrid$;
|
import codechicken.microblock.FacePlacementGrid$;
|
||||||
|
@ -16,7 +17,7 @@ import codechicken.multipart.PartMap;
|
||||||
import codechicken.multipart.TMultiPart;
|
import codechicken.multipart.TMultiPart;
|
||||||
import codechicken.multipart.TileMultipart;
|
import codechicken.multipart.TileMultipart;
|
||||||
|
|
||||||
public class ItemGear extends JItemMultiPart
|
public class ItemGear extends JItemMultiPart implements IHighlight
|
||||||
{
|
{
|
||||||
public ItemGear(int id)
|
public ItemGear(int id)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,13 +3,14 @@ package resonantinduction.mechanical.gear;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.core.prefab.part.IHighlight;
|
||||||
import codechicken.lib.vec.BlockCoord;
|
import codechicken.lib.vec.BlockCoord;
|
||||||
import codechicken.lib.vec.Vector3;
|
import codechicken.lib.vec.Vector3;
|
||||||
import codechicken.multipart.JItemMultiPart;
|
import codechicken.multipart.JItemMultiPart;
|
||||||
import codechicken.multipart.MultiPartRegistry;
|
import codechicken.multipart.MultiPartRegistry;
|
||||||
import codechicken.multipart.TMultiPart;
|
import codechicken.multipart.TMultiPart;
|
||||||
|
|
||||||
public class ItemGearShaft extends JItemMultiPart
|
public class ItemGearShaft extends JItemMultiPart implements IHighlight
|
||||||
{
|
{
|
||||||
public ItemGearShaft(int id)
|
public ItemGearShaft(int id)
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
package resonantinduction.core.prefab.part;
|
||||||
|
|
||||||
|
public interface IHighlight
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue