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 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) {
|
||||
|
@@ -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();
|
||||
}
|
||||
|
@@ -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);
|
||||
|
||||
}
|
||||
}
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -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) {
|
||||
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) {
|
||||
|
@@ -25,5 +25,12 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
"astrium": [
|
||||
{
|
||||
"custom": {
|
||||
"fluid": "astrium"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user