summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorGiovanni Harting <539@idlegandalf.com>2016-07-16 22:33:14 +0200
committerGiovanni Harting <539@idlegandalf.com>2016-07-16 22:34:23 +0200
commit9800f7ce8c17e8a5e59dd237c85a54ccb374713c (patch)
tree6f9ca444d157afee64dc23ac5d89e7dcec6cc3c9 /src/main
parent008e26b575877f3587536fc5565f2033ec4fa82d (diff)
fixed fluid blocks, just need to add all into the JSON @Zkaface
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Blocks.java3
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/Fluids.java9
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/ZTiC.java11
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java15
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java56
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java5
-rw-r--r--src/main/java/com/sosnitzka/ztic_addon/util/Utils.java4
-rw-r--r--src/main/resources/assets/ztic_addon/blockstates/fluid_block.json7
8 files changed, 88 insertions, 22 deletions
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
index 5bf237e..d8701cb 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Blocks.java
@@ -98,6 +98,8 @@ public class Blocks {
public static Block proxideumBlock = new BasicBlock("proxideum_block", Material.ROCK, 25.0f, 25.0f, 4, PREFIX_BLOCK);
public static Block astriumBlock = new BasicBlock("astrium_block", Material.ROCK, 55.0f, 400.0f, 7, PREFIX_BLOCK);
+ //public static Block fluidBlock = new BlockMolten(Fluids.astriumFluid);
+
public static void register() {
Field[] declaredFields = Blocks.class.getDeclaredFields();
@@ -120,7 +122,6 @@ public class Blocks {
}
OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block);
- System.out.println(String.format("Registered OreDict: %s", ((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName)));
}
}
} catch (IllegalAccessException e) {
diff --git a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
index d0bc80e..c9f904d 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/Fluids.java
@@ -2,8 +2,10 @@ package com.sosnitzka.ztic_addon;
import com.sosnitzka.ztic_addon.generic.BasicTinkerFluid;
+import com.sosnitzka.ztic_addon.util.Utils;
import net.minecraft.init.Blocks;
import net.minecraftforge.fluids.FluidRegistry;
+import slimeknights.tconstruct.smeltery.block.BlockMolten;
import java.lang.reflect.Field;
@@ -66,6 +68,13 @@ public class Fluids {
try {
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType);
registerFluid(fluid);
+
+ BlockMolten block = new BlockMolten(fluid);
+ block.setUnlocalizedName("molten_" + fluid.getName());
+ block.setRegistryName(ZTiC.MODID, "molten_" + fluid.getName());
+ Utils.registerBlockWithItem(block);
+
+ ZTiC.proxy.registerFluidModels(fluid);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
index f5a85dc..31c0d7a 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/ZTiC.java
@@ -63,18 +63,18 @@ public class ZTiC {
public static final AbstractTrait diffuse = new TraitDiffuse();
public static final AbstractTrait randomize = new TraitRandomize();
- static final String MODID = "ztic_addon";
- static final String VERSION = "@VERSION@";
+ public static final String MODID = "ztic_addon";
+ public static final String VERSION = "@VERSION@";
@SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy")
- private static ServerProxy proxy;
+ public static ServerProxy proxy;
private List<MaterialIntegration> integrateList = Lists.newArrayList();
@EventHandler
public void preInit(FMLPreInitializationEvent e) {
Items.register();
- Blocks.register();
Fluids.register();
+ Blocks.register();
Fluids.registerfromItem();
Alloys.register();
@@ -155,10 +155,9 @@ public class ZTiC {
}
*/
- proxy.setRenderInfo(material, fluid);
+ proxy.setRenderInfo(material);
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
integration.integrate();
integrateList.add(integration);
-
}
} \ No newline at end of file
diff --git a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java
index 56d93f6..fd47acc 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/generic/BasicTinkerFluid.java
@@ -1,16 +1,16 @@
package com.sosnitzka.ztic_addon.generic;
import net.minecraft.util.ResourceLocation;
-import net.minecraftforge.fluids.Fluid;
+import slimeknights.tconstruct.library.Util;
+import slimeknights.tconstruct.library.fluid.FluidMolten;
-public class BasicTinkerFluid extends Fluid {
+public class BasicTinkerFluid extends FluidMolten {
- private int color;
private boolean toolForge;
public BasicTinkerFluid(String fluidName, int color, boolean toolForge, int temp, int lumen, int visk) {
- super(fluidName, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow"));
- this.color = color;
+ super(fluidName, color, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow"));
+ this.setUnlocalizedName(Util.prefix(fluidName));
this.setTemperature(temp);
this.setLuminosity(lumen);
this.setViscosity(visk);
@@ -18,11 +18,6 @@ public class BasicTinkerFluid extends Fluid {
this.toolForge = toolForge;
}
- @Override
- public int getColor() {
- return color;
- }
-
public boolean isToolForge() {
return toolForge;
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
index 8955aa9..2914980 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ClientProxy.java
@@ -2,16 +2,24 @@ package com.sosnitzka.ztic_addon.proxy;
import com.sosnitzka.ztic_addon.Blocks;
import com.sosnitzka.ztic_addon.Items;
+import com.sosnitzka.ztic_addon.ZTiC;
import net.minecraft.block.Block;
+import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.ItemMeshDefinition;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
+import net.minecraft.client.renderer.block.statemap.StateMapperBase;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.ResourceLocation;
+import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fluids.Fluid;
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
import slimeknights.tconstruct.library.client.texture.MetalTextureTexture;
import slimeknights.tconstruct.library.materials.Material;
+import javax.annotation.Nonnull;
import java.lang.reflect.Field;
import static com.sosnitzka.ztic_addon.Materials.*;
@@ -57,7 +65,7 @@ public class ClientProxy extends ServerProxy {
}
}
- public void setRenderInfo(final Material material, Fluid fluid) {
+ public void setRenderInfo(final Material material) {
/* if (material != bismuth) {
material.setRenderInfo(new MaterialRenderInfo.Metal(fluid.getColor(), 0.4f, 0.2f, 0f));
} else bismuth.setRenderInfo(new MaterialRenderInfo.BlockTexture("ztic_addon:blocks/bismuth_block")); */
@@ -81,4 +89,50 @@ public class ClientProxy extends ServerProxy {
}
});
}
+
+ @Override
+ public void registerFluidModels(Fluid fluid) {
+ if (fluid == null) {
+ return;
+ }
+
+ Block block = fluid.getBlock();
+ if (block != null) {
+ Item item = Item.getItemFromBlock(block);
+ FluidStateMapper mapper = new FluidStateMapper(fluid);
+
+ // item-model
+ if (item != null) {
+ ModelLoader.registerItemVariants(item);
+ ModelLoader.setCustomMeshDefinition(item, mapper);
+ }
+ // block-model
+ ModelLoader.setCustomStateMapper(block, mapper);
+ }
+ }
+
+ public static class FluidStateMapper extends StateMapperBase implements ItemMeshDefinition {
+
+ public final Fluid fluid;
+ public final ModelResourceLocation location;
+
+ public FluidStateMapper(Fluid fluid) {
+ this.fluid = fluid;
+
+ // have each block hold its fluid per nbt? hm
+ this.location = new ModelResourceLocation(new ResourceLocation(ZTiC.MODID, "fluid_block"), fluid.getName());
+ }
+
+ @Nonnull
+ @Override
+ protected ModelResourceLocation getModelResourceLocation(@Nonnull IBlockState state) {
+ return location;
+ }
+
+ @Nonnull
+ @Override
+ public ModelResourceLocation getModelLocation(@Nonnull ItemStack stack) {
+ return location;
+ }
+ }
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java
index cb181e3..e512442 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/proxy/ServerProxy.java
@@ -9,7 +9,10 @@ public class ServerProxy {
}
- public void setRenderInfo(Material material, Fluid fluid) {
+ public void setRenderInfo(Material material) {
}
+
+ public void registerFluidModels(Fluid fluid) {
+ }
}
diff --git a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
index 2ae7c3d..794c302 100644
--- a/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
+++ b/src/main/java/com/sosnitzka/ztic_addon/util/Utils.java
@@ -18,15 +18,13 @@ public class Utils {
public static void registerBlockWithItem(Block block) {
- System.out.println(String.format("Register Block: %s", block.getUnlocalizedName()));
GameRegistry.register(block);
GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
- System.out.println(String.format("Registered: %s", block));
}
public static void registerFluid(Fluid fluid) {
FluidRegistry.registerFluid(fluid);
- FluidRegistry.addBucketForFluid(fluid);
+ //FluidRegistry.addBucketForFluid(fluid);
}
public static void registerTinkerAlloys(Fluid alloy, int out, Fluid first, int inOne, Fluid second, int inTwo) {
diff --git a/src/main/resources/assets/ztic_addon/blockstates/fluid_block.json b/src/main/resources/assets/ztic_addon/blockstates/fluid_block.json
index 2edf31e..4b980cb 100644
--- a/src/main/resources/assets/ztic_addon/blockstates/fluid_block.json
+++ b/src/main/resources/assets/ztic_addon/blockstates/fluid_block.json
@@ -25,5 +25,12 @@
}
}
]
+ "astrium": [
+ {
+ "custom": {
+ "fluid": "astrium"
+ }
+ }
+ ]
}
} \ No newline at end of file