Fixed texture error for fluid itemblocks.
This commit is contained in:
parent
bf5b649fc4
commit
9d1e64b1b2
8 changed files with 158 additions and 72 deletions
|
@ -31,7 +31,6 @@ import net.minecraft.util.EnumFacing;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import techreborn.Core;
|
||||
|
||||
public class BlockFluidTechReborn extends BlockFluidBase {
|
||||
|
||||
|
@ -41,7 +40,6 @@ public class BlockFluidTechReborn extends BlockFluidBase {
|
|||
super(fluid, material);
|
||||
setUnlocalizedName(name);
|
||||
this.name = name;
|
||||
Core.proxy.registerFluidBlockRendering(this, name);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -56,6 +56,7 @@ public class BlockSolarPanel extends BaseTileBlock {
|
|||
ShootingStar.registerModel(new ModelCompound(ModInfo.MOD_ID, this, "machines/generators"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected BlockStateContainer createBlockState() {
|
||||
ACTIVE = PropertyBool.create("active");
|
||||
return new BlockStateContainer(this, ACTIVE);
|
||||
|
|
109
src/main/java/techreborn/events/FluidBlockModelHandler.java
Normal file
109
src/main/java/techreborn/events/FluidBlockModelHandler.java
Normal file
|
@ -0,0 +1,109 @@
|
|||
/*
|
||||
* This file is part of TechReborn, licensed under the MIT License (MIT).
|
||||
*
|
||||
* Copyright (c) 2017 TechReborn
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
package techreborn.events;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
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.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import techreborn.blocks.fluid.BlockFluidTechReborn;
|
||||
import techreborn.init.ModFluids;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
||||
/**
|
||||
* @author drcrazy
|
||||
*
|
||||
*/
|
||||
@SideOnly(Side.CLIENT)
|
||||
public class FluidBlockModelHandler {
|
||||
|
||||
@SubscribeEvent
|
||||
public void registerModels(ModelRegistryEvent event) {
|
||||
registerFluidBlockModel(ModFluids.BLOCK_BERYLLIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_CALCIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_CALCIUM_CARBONATE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_CHLORITE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_DEUTERIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_GLYCERYL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_HELIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_HELIUM_3);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_HELIUMPLASMA);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_HYDROGEN);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_LITHIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_MERCURY);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_METHANE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITROCOAL_FUEL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITROFUEL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITROGEN);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITROGENDIOXIDE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_POTASSIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SILICON);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SODIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SODIUMPERSULFATE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_TRITIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_WOLFRAMIUM);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_CARBON);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_CARBON_FIBER);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITRO_CARBON);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SULFUR);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SODIUM_SULFIDE);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_DIESEL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_NITRO_DIESEL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_OIL);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_SULFURIC_ACID);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_COMPRESSED_AIR);
|
||||
registerFluidBlockModel(ModFluids.BLOCK_ELECTROLYZED_WATER);
|
||||
}
|
||||
|
||||
private static void registerFluidBlockModel(BlockFluidTechReborn block) {
|
||||
String name = block.getUnlocalizedName().substring(5).toLowerCase();
|
||||
Item item = Item.getItemFromBlock(block);
|
||||
ModelResourceLocation location = new ModelResourceLocation(
|
||||
new ResourceLocation(ModInfo.MOD_ID.toLowerCase(), "fluids"), name);
|
||||
|
||||
ModelLoader.registerItemVariants(item);
|
||||
ModelLoader.setCustomMeshDefinition(item, new ItemMeshDefinition() {
|
||||
@Override
|
||||
public ModelResourceLocation getModelLocation(ItemStack stack) {
|
||||
return location;
|
||||
}
|
||||
});
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return location;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
|
@ -29,7 +29,6 @@ import net.minecraft.block.material.Material;
|
|||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import reborncore.RebornRegistry;
|
||||
import techreborn.blocks.fluid.BlockFluidBase;
|
||||
import techreborn.blocks.fluid.BlockFluidTechReborn;
|
||||
import techreborn.blocks.fluid.TechRebornFluid;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
@ -37,113 +36,113 @@ import techreborn.lib.ModInfo;
|
|||
public class ModFluids {
|
||||
|
||||
public static Fluid BERYLLIUM = new TechRebornFluid("fluidberylium");
|
||||
public static BlockFluidBase BLOCK_BERYLLIUM;
|
||||
public static BlockFluidTechReborn BLOCK_BERYLLIUM;
|
||||
|
||||
public static Fluid CALCIUM = new TechRebornFluid("fluidcalcium");
|
||||
public static BlockFluidBase BLOCK_CALCIUM;
|
||||
public static BlockFluidTechReborn BLOCK_CALCIUM;
|
||||
|
||||
public static Fluid CALCIUM_CARBONATE = new TechRebornFluid("fluidcalciumcarbonate");
|
||||
public static BlockFluidBase BLOCK_CALCIUM_CARBONATE;
|
||||
public static BlockFluidTechReborn BLOCK_CALCIUM_CARBONATE;
|
||||
|
||||
public static Fluid CHLORITE = new TechRebornFluid("fluidchlorite");
|
||||
public static BlockFluidBase BLOCK_CHLORITE;
|
||||
public static BlockFluidTechReborn BLOCK_CHLORITE;
|
||||
|
||||
public static Fluid DEUTERIUM = new TechRebornFluid("fluiddeuterium");
|
||||
public static BlockFluidBase BLOCK_DEUTERIUM;
|
||||
public static BlockFluidTechReborn BLOCK_DEUTERIUM;
|
||||
|
||||
public static Fluid GLYCERYL = new TechRebornFluid("fluidglyceryl");
|
||||
public static BlockFluidBase BLOCK_GLYCERYL;
|
||||
public static BlockFluidTechReborn BLOCK_GLYCERYL;
|
||||
|
||||
public static Fluid HELIUM = new TechRebornFluid("fluidhelium");
|
||||
public static BlockFluidBase BLOCK_HELIUM;
|
||||
public static BlockFluidTechReborn BLOCK_HELIUM;
|
||||
|
||||
public static Fluid HELIUM_3 = new TechRebornFluid("fluidhelium3");
|
||||
public static BlockFluidBase BLOCK_HELIUM_3;
|
||||
public static BlockFluidTechReborn BLOCK_HELIUM_3;
|
||||
|
||||
public static Fluid HELIUMPLASMA = new TechRebornFluid("fluidheliumplasma");
|
||||
public static BlockFluidBase BLOCK_HELIUMPLASMA;
|
||||
public static BlockFluidTechReborn BLOCK_HELIUMPLASMA;
|
||||
|
||||
public static Fluid HYDROGEN = new TechRebornFluid("fluidhydrogen");
|
||||
public static BlockFluidBase BLOCK_HYDROGEN;
|
||||
public static BlockFluidTechReborn BLOCK_HYDROGEN;
|
||||
|
||||
public static Fluid LITHIUM = new TechRebornFluid("fluidlithium");
|
||||
public static BlockFluidBase BLOCK_LITHIUM;
|
||||
public static BlockFluidTechReborn BLOCK_LITHIUM;
|
||||
|
||||
public static Fluid MERCURY = new TechRebornFluid("fluidmercury");
|
||||
public static BlockFluidBase BLOCK_MERCURY;
|
||||
public static BlockFluidTechReborn BLOCK_MERCURY;
|
||||
|
||||
public static Fluid METHANE = new TechRebornFluid("fluidmethane");
|
||||
public static BlockFluidBase BLOCK_METHANE;
|
||||
public static BlockFluidTechReborn BLOCK_METHANE;
|
||||
|
||||
public static Fluid NITROCOAL_FUEL = new TechRebornFluid("fluidnitrocoalfuel");
|
||||
public static BlockFluidBase BLOCK_NITROCOAL_FUEL;
|
||||
public static BlockFluidTechReborn BLOCK_NITROCOAL_FUEL;
|
||||
|
||||
public static Fluid NITROFUEL = new TechRebornFluid("fluidnitrofuel");
|
||||
public static BlockFluidBase BLOCK_NITROFUEL;
|
||||
public static BlockFluidTechReborn BLOCK_NITROFUEL;
|
||||
|
||||
public static Fluid NITROGEN = new TechRebornFluid("fluidnitrogen");
|
||||
public static BlockFluidBase BLOCK_NITROGEN;
|
||||
public static BlockFluidTechReborn BLOCK_NITROGEN;
|
||||
|
||||
public static Fluid NITROGENDIOXIDE = new TechRebornFluid("fluidnitrogendioxide");
|
||||
public static BlockFluidBase BLOCK_NITROGENDIOXIDE;
|
||||
public static BlockFluidTechReborn BLOCK_NITROGENDIOXIDE;
|
||||
|
||||
public static Fluid POTASSIUM = new TechRebornFluid("fluidpotassium");
|
||||
public static BlockFluidBase BLOCK_POTASSIUM;
|
||||
public static BlockFluidTechReborn BLOCK_POTASSIUM;
|
||||
|
||||
public static Fluid SILICON = new TechRebornFluid("fluidsilicon");
|
||||
public static BlockFluidBase BLOCK_SILICON;
|
||||
public static BlockFluidTechReborn BLOCK_SILICON;
|
||||
|
||||
public static Fluid SODIUM = new TechRebornFluid("fluidsodium");
|
||||
public static BlockFluidBase BLOCK_SODIUM;
|
||||
public static BlockFluidTechReborn BLOCK_SODIUM;
|
||||
|
||||
public static Fluid SODIUMPERSULFATE = new TechRebornFluid("fluidsodiumpersulfate");
|
||||
public static BlockFluidBase BLOCK_SODIUMPERSULFATE;
|
||||
public static BlockFluidTechReborn BLOCK_SODIUMPERSULFATE;
|
||||
|
||||
public static Fluid TRITIUM = new TechRebornFluid("fluidtritium");
|
||||
public static BlockFluidBase BLOCK_TRITIUM;
|
||||
public static BlockFluidTechReborn BLOCK_TRITIUM;
|
||||
|
||||
public static Fluid WOLFRAMIUM = new TechRebornFluid("fluidwolframium");
|
||||
public static BlockFluidBase BLOCK_WOLFRAMIUM;
|
||||
public static BlockFluidTechReborn BLOCK_WOLFRAMIUM;
|
||||
|
||||
public static Fluid CARBON = new TechRebornFluid("fluidcarbon");
|
||||
public static BlockFluidBase BLOCK_CARBON;
|
||||
public static BlockFluidTechReborn BLOCK_CARBON;
|
||||
|
||||
public static Fluid CARBON_FIBER = new TechRebornFluid("fluidcarbonfiber");
|
||||
public static BlockFluidBase BLOCK_CARBON_FIBER;
|
||||
public static BlockFluidTechReborn BLOCK_CARBON_FIBER;
|
||||
|
||||
public static Fluid NITRO_CARBON = new TechRebornFluid("fluidnitrocarbon");
|
||||
public static BlockFluidBase BLOCK_NITRO_CARBON;
|
||||
public static BlockFluidTechReborn BLOCK_NITRO_CARBON;
|
||||
|
||||
public static Fluid SULFUR = new TechRebornFluid("fluidSulfur");
|
||||
public static BlockFluidBase BLOCK_SULFUR;
|
||||
public static BlockFluidTechReborn BLOCK_SULFUR;
|
||||
|
||||
public static Fluid SODIUM_SULFIDE = new TechRebornFluid("fluidsodiumSulfide");
|
||||
public static BlockFluidBase BLOCK_SODIUM_SULFIDE;
|
||||
public static BlockFluidTechReborn BLOCK_SODIUM_SULFIDE;
|
||||
|
||||
public static Fluid DIESEL = new TechRebornFluid("fluiddiesel");
|
||||
public static BlockFluidBase BLOCK_DIESEL;
|
||||
public static BlockFluidTechReborn BLOCK_DIESEL;
|
||||
|
||||
public static Fluid NITRO_DIESEL = new TechRebornFluid("fluidnitrodiesel");
|
||||
public static BlockFluidBase BLOCK_NITRO_DIESEL;
|
||||
public static BlockFluidTechReborn BLOCK_NITRO_DIESEL;
|
||||
|
||||
public static Fluid OIL = new TechRebornFluid("fluidoil");
|
||||
public static BlockFluidBase BLOCK_OIL;
|
||||
public static BlockFluidTechReborn BLOCK_OIL;
|
||||
|
||||
public static Fluid SULFURIC_ACID = new TechRebornFluid("fluidsulfuricacid");
|
||||
public static BlockFluidBase BLOCK_SULFURIC_ACID;
|
||||
public static BlockFluidTechReborn BLOCK_SULFURIC_ACID;
|
||||
|
||||
public static Fluid COMPRESSED_AIR = new TechRebornFluid("fluidcompressedair");
|
||||
public static BlockFluidBase BLOCK_COMPRESSED_AIR;
|
||||
public static BlockFluidTechReborn BLOCK_COMPRESSED_AIR;
|
||||
|
||||
public static Fluid ELECTROLYZED_WATER = new TechRebornFluid("fluidelectrolyzedwater");
|
||||
public static BlockFluidBase BLOCK_ELECTROLYZED_WATER;
|
||||
public static BlockFluidTechReborn BLOCK_ELECTROLYZED_WATER;
|
||||
|
||||
public static void init() {
|
||||
FluidRegistry.registerFluid(BERYLLIUM);
|
||||
BLOCK_BERYLLIUM = new BlockFluidTechReborn(BERYLLIUM, Material.WATER, "techreborn.berylium");
|
||||
registerBlock(BLOCK_BERYLLIUM,
|
||||
ModInfo.MOD_ID + "_" + BLOCK_BERYLLIUM.getUnlocalizedName().substring(5));
|
||||
|
||||
registerBlock(BLOCK_BERYLLIUM, ModInfo.MOD_ID + "_" + BLOCK_BERYLLIUM.getUnlocalizedName().substring(5));
|
||||
|
||||
|
||||
FluidRegistry.registerFluid(CALCIUM);
|
||||
BLOCK_CALCIUM = new BlockFluidTechReborn(CALCIUM, Material.WATER, "techreborn.calcium");
|
||||
registerBlock(BLOCK_CALCIUM,
|
||||
|
|
|
@ -24,12 +24,8 @@
|
|||
|
||||
package techreborn.proxies;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMap;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
@ -54,6 +50,7 @@ import techreborn.client.keybindings.KeyBindings;
|
|||
import techreborn.client.render.ModelDynamicCell;
|
||||
import techreborn.client.render.entitys.RenderNukePrimed;
|
||||
import techreborn.entities.EntityNukePrimed;
|
||||
import techreborn.events.FluidBlockModelHandler;
|
||||
import techreborn.init.ModBlocks;
|
||||
import techreborn.items.ItemFrequencyTransmitter;
|
||||
import techreborn.lib.ModInfo;
|
||||
|
@ -71,6 +68,7 @@ public class ClientProxy extends CommonProxy {
|
|||
ModelDynamicCell.init();
|
||||
RegisterItemJsons.registerModels();
|
||||
MinecraftForge.EVENT_BUS.register(new IconSupplier());
|
||||
MinecraftForge.EVENT_BUS.register(new FluidBlockModelHandler());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -86,21 +84,6 @@ public class ClientProxy extends CommonProxy {
|
|||
ModelLoader.setCustomStateMapper(ModBlocks.RUBBER_LEAVES, rubberLeavesStateMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerFluidBlockRendering(Block block, String name) {
|
||||
name = name.toLowerCase();
|
||||
super.registerFluidBlockRendering(block, name);
|
||||
final ModelResourceLocation fluidLocation = new ModelResourceLocation(ModInfo.MOD_ID.toLowerCase() + ":fluids", name);
|
||||
|
||||
// use a custom state mapper which will ignore the LEVEL property
|
||||
ModelLoader.setCustomStateMapper(block, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
return fluidLocation;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCTMAvailable() {
|
||||
return isChiselAround;
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
package techreborn.proxies;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||
|
@ -57,10 +56,6 @@ public class CommonProxy implements ICompatModule {
|
|||
|
||||
}
|
||||
|
||||
public void registerFluidBlockRendering(Block block, String name) {
|
||||
|
||||
}
|
||||
|
||||
public boolean isCTMAvailable() {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -72,6 +72,7 @@ public class TileIronAlloyFurnace extends TileLegacyMachineBase
|
|||
/**
|
||||
* Returns the number of ticks that the supplied fuel item will keep the
|
||||
* furnace burning, or 0 if the item isn't fuel
|
||||
* @param stack Itemstack of fuel
|
||||
* @return Integer Number of ticks
|
||||
*/
|
||||
public static int getItemBurnTime(ItemStack stack) {
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"forge_marker": 1,
|
||||
"variants": {
|
||||
"techreborn.berylium": {
|
||||
"model": "forge:fluid",
|
||||
"custom": {
|
||||
"fluid": "fluidberylium"
|
||||
}
|
||||
},
|
||||
"forge_marker": 1,
|
||||
"defaults": {
|
||||
"model": "forge:fluid"
|
||||
},
|
||||
"variants": {
|
||||
"techreborn.berylium": [{
|
||||
"custom": { "fluid": "fluidberylium" }
|
||||
}],
|
||||
"techreborn.calcium": {
|
||||
"model": "forge:fluid",
|
||||
"custom": {
|
||||
|
|
Loading…
Add table
Reference in a new issue