forked from TAIGA/TAIGA
fixed fluid blocks, just need to add all into the JSON @Zkaface
This commit is contained in:
@@ -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 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 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() {
|
public static void register() {
|
||||||
Field[] declaredFields = Blocks.class.getDeclaredFields();
|
Field[] declaredFields = Blocks.class.getDeclaredFields();
|
||||||
@@ -120,7 +122,6 @@ public class Blocks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
OreDictionary.registerOre(((BasicBlock) block).getOreDictPrefix() + StringUtils.capitalize(oreDictName), block);
|
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) {
|
} catch (IllegalAccessException e) {
|
||||||
|
@@ -2,8 +2,10 @@ package com.sosnitzka.ztic_addon;
|
|||||||
|
|
||||||
|
|
||||||
import com.sosnitzka.ztic_addon.generic.BasicTinkerFluid;
|
import com.sosnitzka.ztic_addon.generic.BasicTinkerFluid;
|
||||||
|
import com.sosnitzka.ztic_addon.util.Utils;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraftforge.fluids.FluidRegistry;
|
import net.minecraftforge.fluids.FluidRegistry;
|
||||||
|
import slimeknights.tconstruct.smeltery.block.BlockMolten;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
@@ -66,6 +68,13 @@ public class Fluids {
|
|||||||
try {
|
try {
|
||||||
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType);
|
BasicTinkerFluid fluid = (BasicTinkerFluid) field.get(targetType);
|
||||||
registerFluid(fluid);
|
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) {
|
} catch (IllegalAccessException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
@@ -63,18 +63,18 @@ public class ZTiC {
|
|||||||
public static final AbstractTrait diffuse = new TraitDiffuse();
|
public static final AbstractTrait diffuse = new TraitDiffuse();
|
||||||
public static final AbstractTrait randomize = new TraitRandomize();
|
public static final AbstractTrait randomize = new TraitRandomize();
|
||||||
|
|
||||||
static final String MODID = "ztic_addon";
|
public static final String MODID = "ztic_addon";
|
||||||
static final String VERSION = "@VERSION@";
|
public static final String VERSION = "@VERSION@";
|
||||||
@SidedProxy(clientSide = "com.sosnitzka.ztic_addon.proxy.ClientProxy", serverSide = "com.sosnitzka.ztic_addon.proxy.ServerProxy")
|
@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();
|
private List<MaterialIntegration> integrateList = Lists.newArrayList();
|
||||||
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void preInit(FMLPreInitializationEvent e) {
|
public void preInit(FMLPreInitializationEvent e) {
|
||||||
Items.register();
|
Items.register();
|
||||||
Blocks.register();
|
|
||||||
Fluids.register();
|
Fluids.register();
|
||||||
|
Blocks.register();
|
||||||
Fluids.registerfromItem();
|
Fluids.registerfromItem();
|
||||||
Alloys.register();
|
Alloys.register();
|
||||||
|
|
||||||
@@ -155,10 +155,9 @@ public class ZTiC {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
proxy.setRenderInfo(material, fluid);
|
proxy.setRenderInfo(material);
|
||||||
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
|
MaterialIntegration integration = new MaterialIntegration(material, fluid, oreSuffix);
|
||||||
integration.integrate();
|
integration.integrate();
|
||||||
integrateList.add(integration);
|
integrateList.add(integration);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,16 +1,16 @@
|
|||||||
package com.sosnitzka.ztic_addon.generic;
|
package com.sosnitzka.ztic_addon.generic;
|
||||||
|
|
||||||
import net.minecraft.util.ResourceLocation;
|
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;
|
private boolean toolForge;
|
||||||
|
|
||||||
public BasicTinkerFluid(String fluidName, int color, boolean toolForge, int temp, int lumen, int visk) {
|
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"));
|
super(fluidName, color, new ResourceLocation("tconstruct:blocks/fluids/molten_metal"), new ResourceLocation("tconstruct:blocks/fluids/molten_metal_flow"));
|
||||||
this.color = color;
|
this.setUnlocalizedName(Util.prefix(fluidName));
|
||||||
this.setTemperature(temp);
|
this.setTemperature(temp);
|
||||||
this.setLuminosity(lumen);
|
this.setLuminosity(lumen);
|
||||||
this.setViscosity(visk);
|
this.setViscosity(visk);
|
||||||
@@ -18,11 +18,6 @@ public class BasicTinkerFluid extends Fluid {
|
|||||||
this.toolForge = toolForge;
|
this.toolForge = toolForge;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getColor() {
|
|
||||||
return color;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isToolForge() {
|
public boolean isToolForge() {
|
||||||
return toolForge;
|
return toolForge;
|
||||||
}
|
}
|
||||||
|
@@ -2,16 +2,24 @@ package com.sosnitzka.ztic_addon.proxy;
|
|||||||
|
|
||||||
import com.sosnitzka.ztic_addon.Blocks;
|
import com.sosnitzka.ztic_addon.Blocks;
|
||||||
import com.sosnitzka.ztic_addon.Items;
|
import com.sosnitzka.ztic_addon.Items;
|
||||||
|
import com.sosnitzka.ztic_addon.ZTiC;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.client.Minecraft;
|
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.model.ModelResourceLocation;
|
||||||
|
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||||
import net.minecraft.item.Item;
|
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 net.minecraftforge.fluids.Fluid;
|
||||||
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
|
import slimeknights.tconstruct.library.client.MaterialRenderInfo;
|
||||||
import slimeknights.tconstruct.library.client.texture.MetalTextureTexture;
|
import slimeknights.tconstruct.library.client.texture.MetalTextureTexture;
|
||||||
import slimeknights.tconstruct.library.materials.Material;
|
import slimeknights.tconstruct.library.materials.Material;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
import static com.sosnitzka.ztic_addon.Materials.*;
|
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) {
|
/* if (material != bismuth) {
|
||||||
material.setRenderInfo(new MaterialRenderInfo.Metal(fluid.getColor(), 0.4f, 0.2f, 0f));
|
material.setRenderInfo(new MaterialRenderInfo.Metal(fluid.getColor(), 0.4f, 0.2f, 0f));
|
||||||
} else bismuth.setRenderInfo(new MaterialRenderInfo.BlockTexture("ztic_addon:blocks/bismuth_block")); */
|
} 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -9,7 +9,10 @@ public class ServerProxy {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setRenderInfo(Material material, Fluid fluid) {
|
public void setRenderInfo(Material material) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void registerFluidModels(Fluid fluid) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -18,15 +18,13 @@ public class Utils {
|
|||||||
|
|
||||||
|
|
||||||
public static void registerBlockWithItem(Block block) {
|
public static void registerBlockWithItem(Block block) {
|
||||||
System.out.println(String.format("Register Block: %s", block.getUnlocalizedName()));
|
|
||||||
GameRegistry.register(block);
|
GameRegistry.register(block);
|
||||||
GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
GameRegistry.register(new ItemBlock(block).setRegistryName(block.getRegistryName()));
|
||||||
System.out.println(String.format("Registered: %s", block));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerFluid(Fluid fluid) {
|
public static void registerFluid(Fluid fluid) {
|
||||||
FluidRegistry.registerFluid(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) {
|
public static void registerTinkerAlloys(Fluid alloy, int out, Fluid first, int inOne, Fluid second, int inTwo) {
|
||||||
|
@@ -25,5 +25,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
"astrium": [
|
||||||
|
{
|
||||||
|
"custom": {
|
||||||
|
"fluid": "astrium"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user