Cables render, need textures
This commit is contained in:
parent
e3c150c06e
commit
0204ddc539
7 changed files with 93 additions and 349 deletions
|
@ -41,222 +41,30 @@ public class CableMultipart extends Multipart implements IOccludingPart, ISlotte
|
|||
public Map<EnumFacing, BlockPos> connectedSides;
|
||||
public int ticks = 0;
|
||||
public ItemStack stack;
|
||||
public int type = 0;
|
||||
|
||||
public static final IUnlistedProperty UP = Properties.toUnlisted(PropertyBool.create("up"));
|
||||
public static final IUnlistedProperty DOWN = Properties.toUnlisted(PropertyBool.create("down"));
|
||||
public static final IUnlistedProperty NORTH = Properties.toUnlisted(PropertyBool.create("north"));
|
||||
public static final IUnlistedProperty EAST = Properties.toUnlisted(PropertyBool.create("east"));
|
||||
public static final IUnlistedProperty SOUTH = Properties.toUnlisted(PropertyBool.create("south"));
|
||||
public static final IUnlistedProperty WEST = Properties.toUnlisted(PropertyBool.create("west"));
|
||||
public static final IProperty TYPE = PropertyEnum.create("type", CableTypes.class);
|
||||
public static final IUnlistedProperty<Boolean> UP = Properties.toUnlisted(PropertyBool.create("up"));
|
||||
public static final IUnlistedProperty<Boolean> DOWN = Properties.toUnlisted(PropertyBool.create("down"));
|
||||
public static final IUnlistedProperty<Boolean> NORTH = Properties.toUnlisted(PropertyBool.create("north"));
|
||||
public static final IUnlistedProperty<Boolean> EAST = Properties.toUnlisted(PropertyBool.create("east"));
|
||||
public static final IUnlistedProperty<Boolean> SOUTH = Properties.toUnlisted(PropertyBool.create("south"));
|
||||
public static final IUnlistedProperty<Boolean> WEST = Properties.toUnlisted(PropertyBool.create("west"));
|
||||
public static final IProperty TYPE = PropertyEnum.create("type", EnumCableType.class);
|
||||
|
||||
public CableMultipart() {
|
||||
EnumCableType type;
|
||||
|
||||
public CableMultipart(EnumCableType type) {
|
||||
this.type = type;
|
||||
connectedSides = new HashMap<>();
|
||||
refreshBounding();
|
||||
}
|
||||
|
||||
public static int getMaxCapacity(int type) {
|
||||
switch (type) {
|
||||
case 0:
|
||||
return 128;
|
||||
case 1:
|
||||
return 128;
|
||||
case 2:
|
||||
return 512;
|
||||
case 3:
|
||||
return 512;
|
||||
case 4:
|
||||
return 512;
|
||||
case 5:
|
||||
return 2048;
|
||||
case 6:
|
||||
return 2048;
|
||||
case 7:
|
||||
return 2048;
|
||||
case 8:
|
||||
return 2048;
|
||||
case 9:
|
||||
return 8192;
|
||||
case 10:
|
||||
return 32;
|
||||
case 11:
|
||||
return 8192;
|
||||
case 12:
|
||||
return 8192;
|
||||
case 13:
|
||||
return 32;
|
||||
case 14:
|
||||
return 32;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static float getCableThickness(int cableType) {
|
||||
float p = 1.0F;
|
||||
switch (cableType) {
|
||||
case 0:
|
||||
p = 6.0F;
|
||||
break;
|
||||
case 1:
|
||||
p = 4.0F;
|
||||
break;
|
||||
case 2:
|
||||
p = 3.0F;
|
||||
break;
|
||||
case 3:
|
||||
p = 6.0F;
|
||||
break;
|
||||
case 4:
|
||||
p = 6.0F;
|
||||
break;
|
||||
case 5:
|
||||
p = 6.0F;
|
||||
break;
|
||||
case 6:
|
||||
p = 10.0F;
|
||||
break;
|
||||
case 7:
|
||||
p = 10.0F;
|
||||
break;
|
||||
case 8:
|
||||
p = 12.0F;
|
||||
break;
|
||||
case 9:
|
||||
p = 4.0F;
|
||||
break;
|
||||
case 10:
|
||||
p = 4.0F;
|
||||
break;
|
||||
case 11:
|
||||
p = 8.0F;
|
||||
break;
|
||||
case 12:
|
||||
p = 8.0F;
|
||||
break;
|
||||
case 13:
|
||||
p = 16.0F;
|
||||
break;
|
||||
case 14:
|
||||
p = 6.0F;
|
||||
}
|
||||
|
||||
return p / 16.0F;
|
||||
}
|
||||
|
||||
public static String getNameFromType(int cableType) {
|
||||
String p = null;
|
||||
switch (cableType) {
|
||||
case 0:
|
||||
p = "insulatedCopperCable";
|
||||
break;
|
||||
case 1:
|
||||
p = "copperCable";
|
||||
break;
|
||||
case 2:
|
||||
p = "goldCable";
|
||||
break;
|
||||
case 3:
|
||||
p = "insulatedGoldCable";
|
||||
break;
|
||||
case 4:
|
||||
p = "doubleInsulatedGoldCable";
|
||||
break;
|
||||
case 5:
|
||||
p = "ironCable";
|
||||
break;
|
||||
case 6:
|
||||
p = "insulatedIronCable";
|
||||
break;
|
||||
case 7:
|
||||
p = "doubleInsulatedIronCable";
|
||||
break;
|
||||
case 8:
|
||||
p = "trippleInsulatedIronCable";
|
||||
break;
|
||||
case 9:
|
||||
p = "glassFiberCable";
|
||||
break;
|
||||
case 10:
|
||||
p = "tinCable";
|
||||
break;
|
||||
case 11:
|
||||
p = "detectorCableBlock";//Detector
|
||||
break;
|
||||
case 12:
|
||||
p = "splitterCableBlock";// Splitter
|
||||
break;
|
||||
case 13:
|
||||
p = "insulatedtinCable";
|
||||
break;
|
||||
case 14:
|
||||
p = "unused"; // unused?
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
public static String getTextureNameFromType(int cableType) {
|
||||
String p = null;
|
||||
switch (cableType) {
|
||||
case 0:
|
||||
p = "insulatedCopperCableItem";
|
||||
break;
|
||||
case 1:
|
||||
p = "copperCableItem";
|
||||
break;
|
||||
case 2:
|
||||
p = "goldCableItem";
|
||||
break;
|
||||
case 3:
|
||||
p = "insulatedGoldCableItem";
|
||||
break;
|
||||
case 4:
|
||||
p = "doubleInsulatedGoldCableItem";
|
||||
break;
|
||||
case 5:
|
||||
p = "ironCableItem";
|
||||
break;
|
||||
case 6:
|
||||
p = "insulatedIronCableItem";
|
||||
break;
|
||||
case 7:
|
||||
p = "doubleInsulatedIronCableItem";
|
||||
break;
|
||||
case 8:
|
||||
p = "trippleInsulatedIronCableItem";
|
||||
break;
|
||||
case 9:
|
||||
p = "glassFiberCableItem";
|
||||
break;
|
||||
case 10:
|
||||
p = "tinCableItem";
|
||||
break;
|
||||
case 11:
|
||||
p = "detectorCableItem";//Detector
|
||||
break;
|
||||
case 12:
|
||||
p = "splitterCableItem";// Splitter
|
||||
break;
|
||||
case 13:
|
||||
p = "insulatedTinCableItem";
|
||||
break;
|
||||
case 14:
|
||||
p = "unused"; // unused?
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
public void setType(int newType) {
|
||||
this.type = newType;
|
||||
refreshBounding();
|
||||
public CableMultipart(){
|
||||
this(EnumCableType.COPPER);
|
||||
}
|
||||
|
||||
public void refreshBounding() {
|
||||
float centerFirst = center - offset;
|
||||
double w = getCableThickness(type) / 2;
|
||||
double w = (type.cableThickness / 16) - 0.5;
|
||||
boundingBoxes[6] = new Vecs3dCube(centerFirst - w - 0.03, centerFirst
|
||||
- w - 0.08, centerFirst - w - 0.03, centerFirst + w + 0.08,
|
||||
centerFirst + w + 0.04, centerFirst + w + 0.08);
|
||||
|
@ -417,42 +225,6 @@ public class CableMultipart extends Multipart implements IOccludingPart, ISlotte
|
|||
}
|
||||
}
|
||||
|
||||
public double getConductionLoss() {
|
||||
switch (this.type) {
|
||||
case 0:
|
||||
return 0.2D;
|
||||
case 1:
|
||||
return 0.3D;
|
||||
case 2:
|
||||
return 0.5D;
|
||||
case 3:
|
||||
return 0.45D;
|
||||
case 4:
|
||||
return 0.4D;
|
||||
case 5:
|
||||
return 1.0D;
|
||||
case 6:
|
||||
return 0.95D;
|
||||
case 7:
|
||||
return 0.9D;
|
||||
case 8:
|
||||
return 0.8D;
|
||||
case 9:
|
||||
return 0.025D;
|
||||
case 10:
|
||||
return 0.025D;
|
||||
case 11:
|
||||
return 0.5D;
|
||||
case 12:
|
||||
return 0.5D;
|
||||
case 13:
|
||||
default:
|
||||
return 0.025D;
|
||||
case 14:
|
||||
return 0.2D;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumSet<PartSlot> getSlotMask() {
|
||||
return EnumSet.of(PartSlot.CENTER);
|
||||
|
@ -473,7 +245,7 @@ public class CableMultipart extends Multipart implements IOccludingPart, ISlotte
|
|||
.withProperty(SOUTH, shouldConnectTo(EnumFacing.SOUTH))
|
||||
.withProperty(WEST, shouldConnectTo(EnumFacing.WEST))
|
||||
.withProperty(EAST, shouldConnectTo(EnumFacing.EAST))
|
||||
.withProperty(TYPE, CableTypes.COPPER);
|
||||
.withProperty(TYPE, type);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
package techreborn.parts;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
/**
|
||||
* Created by Mark on 05/03/2016.
|
||||
*/
|
||||
public enum CableTypes implements IStringSerializable {
|
||||
COPPER("copper"),
|
||||
TIN("tin");
|
||||
|
||||
private String friendlyName;
|
||||
|
||||
CableTypes(String friendlyName) {
|
||||
this.friendlyName = friendlyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return friendlyName;
|
||||
}
|
||||
}
|
29
src/main/java/techreborn/parts/EnumCableType.java
Normal file
29
src/main/java/techreborn/parts/EnumCableType.java
Normal file
|
@ -0,0 +1,29 @@
|
|||
package techreborn.parts;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
||||
public enum EnumCableType implements IStringSerializable {
|
||||
COPPER("copper"),
|
||||
TIN("tin"),
|
||||
GOLD("gold"),
|
||||
HV("hv"),
|
||||
GLASSFIBER("glassfiber"),
|
||||
ICOPPER("insulatedcopper"),
|
||||
IGOLD("insulatedgold"),
|
||||
IHV("insulatedhv");
|
||||
|
||||
private String friendlyName;
|
||||
public String textureName = "minecraft:blocks/iron_block";
|
||||
public int transferRate= 128;
|
||||
public double cableThickness = 3.0;
|
||||
public boolean canKill = false;
|
||||
|
||||
EnumCableType(String friendlyName) {
|
||||
this.friendlyName = friendlyName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return friendlyName;
|
||||
}
|
||||
}
|
|
@ -27,8 +27,8 @@ import java.util.List;
|
|||
public class ItemCables extends ItemMultiPart implements ITexturedItem {
|
||||
|
||||
public static ItemStack getCableByName(String name, int count) {
|
||||
for (int i = 0; i < types.length; i++) {
|
||||
if (types[i].equalsIgnoreCase(name)) {
|
||||
for (int i = 0; i < EnumCableType.values().length; i++) {
|
||||
if (EnumCableType.values()[i].name().equalsIgnoreCase(name)) {
|
||||
return new ItemStack(TechRebornParts.cables, count, i);
|
||||
}
|
||||
}
|
||||
|
@ -39,11 +39,6 @@ public class ItemCables extends ItemMultiPart implements ITexturedItem {
|
|||
return getCableByName(name, 1);
|
||||
}
|
||||
|
||||
public static final String[] types = new String[]
|
||||
{"copper", "tin", "gold", "hv", "glassfiber", "insulatedcopper", "insulatedgold", "insulatedhv"};
|
||||
//NOTE FOR MODMUSS copper tin and gold cables that are not insulated should hurt the player if they tuch them
|
||||
|
||||
|
||||
public ItemCables() {
|
||||
setCreativeTab(TechRebornCreativeTab.instance);
|
||||
setHasSubtypes(true);
|
||||
|
@ -54,7 +49,7 @@ public class ItemCables extends ItemMultiPart implements ITexturedItem {
|
|||
|
||||
@Override
|
||||
public IMultipart createPart(World world, BlockPos pos, EnumFacing side, Vec3 hit, ItemStack stack, EntityPlayer player) {
|
||||
return new CableMultipart();
|
||||
return new CableMultipart(EnumCableType.values()[stack.getItemDamage()]);
|
||||
}
|
||||
|
||||
|
||||
|
@ -62,28 +57,28 @@ public class ItemCables extends ItemMultiPart implements ITexturedItem {
|
|||
// gets Unlocalized Name depending on meta data
|
||||
public String getUnlocalizedName(ItemStack itemStack) {
|
||||
int meta = itemStack.getItemDamage();
|
||||
if (meta < 0 || meta >= types.length) {
|
||||
if (meta < 0 || meta >= EnumCableType.values().length) {
|
||||
meta = 0;
|
||||
}
|
||||
|
||||
return super.getUnlocalizedName() + "." + types[meta];
|
||||
return super.getUnlocalizedName() + "." + EnumCableType.values()[meta];
|
||||
}
|
||||
|
||||
// Adds Dusts SubItems To Creative Tab
|
||||
public void getSubItems(Item item, CreativeTabs creativeTabs, List list) {
|
||||
for (int meta = 0; meta < types.length; ++meta) {
|
||||
for (int meta = 0; meta < EnumCableType.values().length; ++meta) {
|
||||
list.add(new ItemStack(item, 1, meta));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTextureName(int damage) {
|
||||
return ModInfo.MOD_ID + ":items/cables/" + types[damage];
|
||||
return ModInfo.MOD_ID + ":items/cables/" + EnumCableType.values()[damage];
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxMeta() {
|
||||
return types.length;
|
||||
return EnumCableType.values().length;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue