Started to work on Quantum Gates
This commit is contained in:
parent
ce2beb65ee
commit
6a0ffe582e
17 changed files with 334 additions and 16 deletions
|
@ -18,6 +18,8 @@ import resonantinduction.electrical.render.FXElectricBolt;
|
||||||
import resonantinduction.electrical.tesla.RenderTesla;
|
import resonantinduction.electrical.tesla.RenderTesla;
|
||||||
import resonantinduction.electrical.tesla.TileTesla;
|
import resonantinduction.electrical.tesla.TileTesla;
|
||||||
import resonantinduction.electrical.transformer.RenderTransformer;
|
import resonantinduction.electrical.transformer.RenderTransformer;
|
||||||
|
import resonantinduction.mechanical.energy.gear.RenderGear;
|
||||||
|
import resonantinduction.quantum.gate.RenderQuantumGlyph;
|
||||||
import universalelectricity.api.vector.Vector3;
|
import universalelectricity.api.vector.Vector3;
|
||||||
import calclavia.lib.render.item.GlobalItemRenderer;
|
import calclavia.lib.render.item.GlobalItemRenderer;
|
||||||
import codechicken.multipart.TMultiPart;
|
import codechicken.multipart.TMultiPart;
|
||||||
|
@ -39,6 +41,7 @@ public class ClientProxy extends CommonProxy
|
||||||
GlobalItemRenderer.register(Electrical.itemTransformer.itemID, RenderTransformer.INSTANCE);
|
GlobalItemRenderer.register(Electrical.itemTransformer.itemID, RenderTransformer.INSTANCE);
|
||||||
GlobalItemRenderer.register(Electrical.itemCharger.itemID, RenderCharger.INSTANCE);
|
GlobalItemRenderer.register(Electrical.itemCharger.itemID, RenderCharger.INSTANCE);
|
||||||
GlobalItemRenderer.register(Electrical.itemLevitator.itemID, RenderLevitator.INSTANCE);
|
GlobalItemRenderer.register(Electrical.itemLevitator.itemID, RenderLevitator.INSTANCE);
|
||||||
|
GlobalItemRenderer.register(Electrical.itemQuantumGlyph.itemID, RenderQuantumGlyph.INSTANCE);
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileTesla.class, new RenderTesla());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileTesla.class, new RenderTesla());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileBattery.class, new RenderBattery());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileBattery.class, new RenderBattery());
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileSolarPanel.class, new RenderSolarPanel());
|
ClientRegistry.bindTileEntitySpecialRenderer(TileSolarPanel.class, new RenderSolarPanel());
|
||||||
|
|
|
@ -31,6 +31,7 @@ import resonantinduction.electrical.wire.EnumWireMaterial;
|
||||||
import resonantinduction.electrical.wire.ItemWire;
|
import resonantinduction.electrical.wire.ItemWire;
|
||||||
import resonantinduction.quantum.gate.BlockGlyph;
|
import resonantinduction.quantum.gate.BlockGlyph;
|
||||||
import resonantinduction.quantum.gate.BlockQuantumGate;
|
import resonantinduction.quantum.gate.BlockQuantumGate;
|
||||||
|
import resonantinduction.quantum.gate.ItemQuantumGlyph;
|
||||||
import resonantinduction.quantum.gate.TileQuantumGate;
|
import resonantinduction.quantum.gate.TileQuantumGate;
|
||||||
import calclavia.lib.content.ContentRegistry;
|
import calclavia.lib.content.ContentRegistry;
|
||||||
import calclavia.lib.network.PacketHandler;
|
import calclavia.lib.network.PacketHandler;
|
||||||
|
@ -94,8 +95,8 @@ public class Electrical
|
||||||
public static Item itemDisk;
|
public static Item itemDisk;
|
||||||
|
|
||||||
// Quantum
|
// Quantum
|
||||||
public static Block blockGlyph;
|
|
||||||
public static Block blockQuantumGate;
|
public static Block blockQuantumGate;
|
||||||
|
public static Item itemQuantumGlyph;
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent evt)
|
public void preInit(FMLPreInitializationEvent evt)
|
||||||
|
@ -124,9 +125,8 @@ public class Electrical
|
||||||
blockThermopile = contentRegistry.createTile(BlockThermopile.class, TileThermopile.class);
|
blockThermopile = contentRegistry.createTile(BlockThermopile.class, TileThermopile.class);
|
||||||
|
|
||||||
// Quantum
|
// Quantum
|
||||||
blockGlyph = contentRegistry.createBlock(BlockGlyph.class, ItemBlockMetadata.class);
|
|
||||||
blockQuantumGate = contentRegistry.createTile(BlockQuantumGate.class, TileQuantumGate.class);
|
blockQuantumGate = contentRegistry.createTile(BlockQuantumGate.class, TileQuantumGate.class);
|
||||||
|
itemQuantumGlyph = contentRegistry.createItem(ItemQuantumGlyph.class);
|
||||||
Settings.save();
|
Settings.save();
|
||||||
|
|
||||||
OreDictionary.registerOre("wire", itemWire);
|
OreDictionary.registerOre("wire", itemWire);
|
||||||
|
|
|
@ -8,6 +8,7 @@ import resonantinduction.electrical.wire.flat.PartFlatSwitchWire;
|
||||||
import resonantinduction.electrical.wire.flat.PartFlatWire;
|
import resonantinduction.electrical.wire.flat.PartFlatWire;
|
||||||
import resonantinduction.electrical.wire.framed.PartFramedSwitchWire;
|
import resonantinduction.electrical.wire.framed.PartFramedSwitchWire;
|
||||||
import resonantinduction.electrical.wire.framed.PartFramedWire;
|
import resonantinduction.electrical.wire.framed.PartFramedWire;
|
||||||
|
import resonantinduction.quantum.gate.PartQuantumGlyph;
|
||||||
import codechicken.multipart.MultiPartRegistry;
|
import codechicken.multipart.MultiPartRegistry;
|
||||||
import codechicken.multipart.MultiPartRegistry.IPartFactory;
|
import codechicken.multipart.MultiPartRegistry.IPartFactory;
|
||||||
import codechicken.multipart.MultipartGenerator;
|
import codechicken.multipart.MultipartGenerator;
|
||||||
|
@ -17,7 +18,7 @@ public class MultipartElectrical implements IPartFactory
|
||||||
{
|
{
|
||||||
public static MultipartElectrical INSTANCE;
|
public static MultipartElectrical INSTANCE;
|
||||||
|
|
||||||
public static final String[] PART_TYPES = { "resonant_induction_wire", "resonant_induction_switch_wire", "resonant_induction_flat_wire", "resonant_induction_flat_switch_wire", "resonant_induction_multimeter", "resonant_induction_transformer", "resonant_induction_charger", "resonant_induction_levitator" };
|
public static final String[] PART_TYPES = { "resonant_induction_quantum_glyph", "resonant_induction_wire", "resonant_induction_switch_wire", "resonant_induction_flat_wire", "resonant_induction_flat_switch_wire", "resonant_induction_multimeter", "resonant_induction_transformer", "resonant_induction_charger", "resonant_induction_levitator" };
|
||||||
|
|
||||||
public MultipartElectrical()
|
public MultipartElectrical()
|
||||||
{
|
{
|
||||||
|
@ -47,6 +48,8 @@ public class MultipartElectrical implements IPartFactory
|
||||||
return new PartCharger();
|
return new PartCharger();
|
||||||
else if (name.equals("resonant_induction_levitator"))
|
else if (name.equals("resonant_induction_levitator"))
|
||||||
return new PartLevitator();
|
return new PartLevitator();
|
||||||
|
else if (name.equals("resonant_induction_quantum_glyph"))
|
||||||
|
return new PartQuantumGlyph();
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,4 +34,10 @@ public class ItemCharger extends JItemMultiPart implements IHighlight
|
||||||
|
|
||||||
return part;
|
return part;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,4 +34,10 @@ public class ItemLevitator extends JItemMultiPart implements IHighlight
|
||||||
|
|
||||||
return part;
|
return part;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,4 +81,10 @@ public class ItemMultimeter extends JItemMultiPart implements IHighlight
|
||||||
|
|
||||||
itemStack.stackTagCompound.setFloat("detection", detection);
|
itemStack.stackTagCompound.setFloat("detection", detection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,4 +34,10 @@ public class ItemTransformer extends JItemMultiPart implements IHighlight
|
||||||
|
|
||||||
return part;
|
return part;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,14 +36,9 @@ import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class ItemWire extends JItemMultiPart
|
public class ItemWire extends JItemMultiPart
|
||||||
{
|
{
|
||||||
public ItemWire()
|
|
||||||
{
|
|
||||||
this(Settings.getNextItemID());
|
|
||||||
}
|
|
||||||
|
|
||||||
public ItemWire(int id)
|
public ItemWire(int id)
|
||||||
{
|
{
|
||||||
super(Settings.CONFIGURATION.get(Configuration.CATEGORY_ITEM, "wire", id).getInt(id));
|
super(id);
|
||||||
this.setUnlocalizedName(Reference.PREFIX + "wire");
|
this.setUnlocalizedName(Reference.PREFIX + "wire");
|
||||||
this.setTextureName(Reference.PREFIX + "wire");
|
this.setTextureName(Reference.PREFIX + "wire");
|
||||||
this.setCreativeTab(TabRI.DEFAULT);
|
this.setCreativeTab(TabRI.DEFAULT);
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
package resonantinduction.quantum.gate;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import resonantinduction.core.prefab.part.IHighlight;
|
||||||
|
import resonantinduction.mechanical.energy.gear.PartGearShaft;
|
||||||
|
import codechicken.lib.vec.BlockCoord;
|
||||||
|
import codechicken.lib.vec.Vector3;
|
||||||
|
import codechicken.microblock.CornerPlacementGrid$;
|
||||||
|
import codechicken.multipart.JItemMultiPart;
|
||||||
|
import codechicken.multipart.MultiPartRegistry;
|
||||||
|
import codechicken.multipart.PartMap;
|
||||||
|
import codechicken.multipart.TMultiPart;
|
||||||
|
import codechicken.multipart.TileMultipart;
|
||||||
|
|
||||||
|
public class ItemQuantumGlyph extends JItemMultiPart implements IHighlight
|
||||||
|
{
|
||||||
|
public ItemQuantumGlyph(int id)
|
||||||
|
{
|
||||||
|
super(id);
|
||||||
|
setHasSubtypes(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getUnlocalizedName(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
return super.getUnlocalizedName(itemStack) + "." + itemStack.getItemDamage();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TMultiPart newPart(ItemStack itemStack, EntityPlayer player, World world, BlockCoord pos, int slot, Vector3 hit)
|
||||||
|
{
|
||||||
|
PartQuantumGlyph part = (PartQuantumGlyph) MultiPartRegistry.createPart("resonant_induction_quantum_glyph", false);
|
||||||
|
slot = CornerPlacementGrid$.MODULE$.getHitSlot(hit, slot);
|
||||||
|
System.out.println(slot);
|
||||||
|
switch (slot)
|
||||||
|
{
|
||||||
|
case 7:
|
||||||
|
slot = 0;
|
||||||
|
break;
|
||||||
|
case 9:
|
||||||
|
slot = 1;
|
||||||
|
break;
|
||||||
|
case 11:
|
||||||
|
slot = 2;
|
||||||
|
break;
|
||||||
|
case 13:
|
||||||
|
slot = 3;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
slot = 4;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
slot = 5;
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
slot = 6;
|
||||||
|
break;
|
||||||
|
case 14:
|
||||||
|
slot = 7;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
TileEntity tile = world.getBlockTileEntity(pos.x, pos.y, pos.z);
|
||||||
|
|
||||||
|
if (tile instanceof TileMultipart)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
part.preparePlacement(slot, itemStack.getItemDamage());
|
||||||
|
return part;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getSubItems(int itemID, CreativeTabs tab, List listToAddTo)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
listToAddTo.add(new ItemStack(itemID, 1, i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,127 @@
|
||||||
|
package resonantinduction.quantum.gate;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
|
import net.minecraft.util.MovingObjectPosition;
|
||||||
|
import resonantinduction.core.Reference;
|
||||||
|
import resonantinduction.electrical.Electrical;
|
||||||
|
import calclavia.lib.render.RenderUtility;
|
||||||
|
import codechicken.lib.data.MCDataInput;
|
||||||
|
import codechicken.lib.data.MCDataOutput;
|
||||||
|
import codechicken.lib.vec.Cuboid6;
|
||||||
|
import codechicken.lib.vec.Vector3;
|
||||||
|
import codechicken.multipart.JCuboidPart;
|
||||||
|
import codechicken.multipart.JNormalOcclusion;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
public class PartQuantumGlyph extends JCuboidPart implements JNormalOcclusion
|
||||||
|
{
|
||||||
|
static final Cuboid6[] bounds = new Cuboid6[8];
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
bounds[0] = new Cuboid6(0, 0, 0, 0.5, 0.5, 0.5);
|
||||||
|
bounds[1] = new Cuboid6(0, 0, 0.5, 0.5, 0.5, 1);
|
||||||
|
bounds[2] = new Cuboid6(0.5, 0, 0, 1, 0.5, 0.5);
|
||||||
|
bounds[3] = new Cuboid6(0.5, 0, 0.5, 1, 0.5, 1);
|
||||||
|
|
||||||
|
bounds[4] = new Cuboid6(0, 0.5, 0, 0.5, 1, 0.5);
|
||||||
|
bounds[5] = new Cuboid6(0, 0.5, 0.5, 0.5, 1, 1);
|
||||||
|
bounds[6] = new Cuboid6(0.5, 0.5, 0, 1, 1, 0.5);
|
||||||
|
bounds[7] = new Cuboid6(0.5, 0.5, 0.5, 1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private byte side;
|
||||||
|
byte number;
|
||||||
|
|
||||||
|
public void preparePlacement(int side, int itemDamage)
|
||||||
|
{
|
||||||
|
this.side = (byte) side;
|
||||||
|
this.number = (byte) itemDamage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getType()
|
||||||
|
{
|
||||||
|
return "resonant_induction_quantum_glyph";
|
||||||
|
}
|
||||||
|
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
@Override
|
||||||
|
public void renderDynamic(Vector3 pos, float frame, int pass)
|
||||||
|
{
|
||||||
|
RenderQuantumGlyph.INSTANCE.render(this, pos.x, pos.y, pos.z);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Cuboid6 getBounds()
|
||||||
|
{
|
||||||
|
if (side < bounds.length)
|
||||||
|
if (bounds[side] != null)
|
||||||
|
return bounds[side];
|
||||||
|
|
||||||
|
return new Cuboid6(0, 0, 0, 0.5, 0.5, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Iterable<Cuboid6> getOcclusionBoxes()
|
||||||
|
{
|
||||||
|
return Arrays.asList(new Cuboid6[] { getBounds() });
|
||||||
|
}
|
||||||
|
|
||||||
|
protected ItemStack getItem()
|
||||||
|
{
|
||||||
|
return new ItemStack(Electrical.itemQuantumGlyph);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Iterable<ItemStack> getDrops()
|
||||||
|
{
|
||||||
|
List<ItemStack> drops = new ArrayList<ItemStack>();
|
||||||
|
drops.add(getItem());
|
||||||
|
return drops;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ItemStack pickItem(MovingObjectPosition hit)
|
||||||
|
{
|
||||||
|
return getItem();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Packet Code. */
|
||||||
|
@Override
|
||||||
|
public void readDesc(MCDataInput packet)
|
||||||
|
{
|
||||||
|
load(packet.readNBTTagCompound());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeDesc(MCDataOutput packet)
|
||||||
|
{
|
||||||
|
// packet.writeByte(0);
|
||||||
|
NBTTagCompound nbt = new NBTTagCompound();
|
||||||
|
save(nbt);
|
||||||
|
packet.writeNBTTagCompound(nbt);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void load(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
side = nbt.getByte("side");
|
||||||
|
number = nbt.getByte("number");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void save(NBTTagCompound nbt)
|
||||||
|
{
|
||||||
|
nbt.setByte("side", side);
|
||||||
|
nbt.setByte("number", number);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,43 @@
|
||||||
|
package resonantinduction.quantum.gate;
|
||||||
|
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
import net.minecraftforge.client.model.AdvancedModelLoader;
|
||||||
|
import net.minecraftforge.client.model.IModelCustom;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
|
import codechicken.lib.vec.Cuboid6;
|
||||||
|
import codechicken.lib.vec.Vector3;
|
||||||
|
import resonantinduction.core.Reference;
|
||||||
|
import resonantinduction.electrical.Electrical;
|
||||||
|
import calclavia.lib.render.RenderUtility;
|
||||||
|
import calclavia.lib.render.item.ISimpleItemRenderer;
|
||||||
|
import cpw.mods.fml.client.FMLClientHandler;
|
||||||
|
|
||||||
|
public class RenderQuantumGlyph implements ISimpleItemRenderer
|
||||||
|
{
|
||||||
|
public static final RenderQuantumGlyph INSTANCE = new RenderQuantumGlyph();
|
||||||
|
|
||||||
|
public void render(PartQuantumGlyph part, double x, double y, double z)
|
||||||
|
{
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
GL11.glTranslated(x, y, z);
|
||||||
|
Cuboid6 bound = part.getBounds().copy();
|
||||||
|
bound.expand(-0.02);
|
||||||
|
RenderUtility.bind(TextureMap.locationBlocksTexture);
|
||||||
|
RenderUtility.renderCube(bound.min.x, bound.min.y, bound.min.z, bound.max.x, bound.max.y, bound.max.z, Block.stone, RenderUtility.getIcon(Reference.PREFIX + "glyph_" + part.number));
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void renderInventoryItem(ItemStack itemStack)
|
||||||
|
{
|
||||||
|
GL11.glPushMatrix();
|
||||||
|
RenderUtility.bind(TextureMap.locationBlocksTexture);
|
||||||
|
RenderUtility.renderCube(-0.5, -0.5, -0.5, 0.5, 0.5, 0.5, Block.stone, RenderUtility.getIcon(Reference.PREFIX + "glyph_" + itemStack.getItemDamage()));
|
||||||
|
GL11.glPopMatrix();
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ 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$;
|
||||||
|
import codechicken.microblock.CornerPlacementGrid$;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
@ -24,7 +25,16 @@ public class MicroblockHighlightHandler
|
||||||
GL11.glPushMatrix();
|
GL11.glPushMatrix();
|
||||||
RenderUtils.translateToWorldCoords(event.player, event.partialTicks);
|
RenderUtils.translateToWorldCoords(event.player, event.partialTicks);
|
||||||
Vector3 hit = new Vector3(event.target.hitVec);
|
Vector3 hit = new Vector3(event.target.hitVec);
|
||||||
|
|
||||||
|
switch (((IHighlight) event.currentItem.getItem()).getHighlightType())
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
FacePlacementGrid$.MODULE$.render(hit, event.target.sideHit);
|
FacePlacementGrid$.MODULE$.render(hit, event.target.sideHit);
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
CornerPlacementGrid$.MODULE$.render(hit, event.target.sideHit);
|
||||||
|
}
|
||||||
|
|
||||||
event.setCanceled(true);
|
event.setCanceled(true);
|
||||||
GL11.glPopMatrix();
|
GL11.glPopMatrix();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,4 +63,10 @@ public class ItemGear extends JItemMultiPart implements IHighlight
|
||||||
listToAddTo.add(new ItemStack(itemID, 1, i));
|
listToAddTo.add(new ItemStack(itemID, 1, i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -48,4 +48,10 @@ public class ItemGearShaft extends JItemMultiPart implements IHighlight
|
||||||
listToAddTo.add(new ItemStack(itemID, 1, i));
|
listToAddTo.add(new ItemStack(itemID, 1, i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getHighlightType()
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,11 @@ public class TextureHookHandler
|
||||||
{
|
{
|
||||||
if (event.map.textureType == 0)
|
if (event.map.textureType == 0)
|
||||||
{
|
{
|
||||||
|
RenderUtility.registerIcon(Reference.PREFIX + "glyph_0", event.map);
|
||||||
|
RenderUtility.registerIcon(Reference.PREFIX + "glyph_1", event.map);
|
||||||
|
RenderUtility.registerIcon(Reference.PREFIX + "glyph_2", event.map);
|
||||||
|
RenderUtility.registerIcon(Reference.PREFIX + "glyph_3", event.map);
|
||||||
|
|
||||||
RenderUtility.registerIcon(Reference.PREFIX + "mixture_flow", event.map);
|
RenderUtility.registerIcon(Reference.PREFIX + "mixture_flow", event.map);
|
||||||
RenderUtility.registerIcon(Reference.PREFIX + "molten_flow", event.map);
|
RenderUtility.registerIcon(Reference.PREFIX + "molten_flow", event.map);
|
||||||
RenderUtility.registerIcon(Reference.PREFIX + "multimeter_screen", event.map);
|
RenderUtility.registerIcon(Reference.PREFIX + "multimeter_screen", event.map);
|
||||||
|
|
|
@ -2,5 +2,5 @@ package resonantinduction.core.prefab.part;
|
||||||
|
|
||||||
public interface IHighlight
|
public interface IHighlight
|
||||||
{
|
{
|
||||||
|
public int getHighlightType();
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,10 +147,11 @@ item.resonantinduction\:multimeter.tooltip=Multimeter is a panel that display th
|
||||||
|
|
||||||
### Quantum Tier
|
### Quantum Tier
|
||||||
tile.resonantinduction\:quantumGate.name=Quantum Gate
|
tile.resonantinduction\:quantumGate.name=Quantum Gate
|
||||||
tile.resonantinduction\:glyph.0.name=Monogon Glyph
|
item.resonantinduction\:quantumGlyph.0.name=Nought Glyph
|
||||||
tile.resonantinduction\:glyph.1.name=Digon Glyph
|
item.resonantinduction\:quantumGlyph.1.name=Monogon Glyph
|
||||||
tile.resonantinduction\:glyph.2.name=Trigon Glyph
|
item.resonantinduction\:quantumGlyph.2.name=Digon Glyph
|
||||||
tile.resonantinduction\:glyph.3.name=Tetragon Glyph
|
item.resonantinduction\:quantumGlyph.3.name=Trigon Glyph
|
||||||
|
item.resonantinduction\:quantumGlyph.4.name=Tetragon Glyph
|
||||||
|
|
||||||
## Tool-tips
|
## Tool-tips
|
||||||
tooltip.pipe.rate=Flow Rate: %v
|
tooltip.pipe.rate=Flow Rate: %v
|
||||||
|
|
Loading…
Reference in a new issue