Jump to content

nik7

Members
  • Posts

    36
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

nik7's Achievements

Tree Puncher

Tree Puncher (2/8)

2

Reputation

  1. The model is rendering fine! Thanks 😀
  2. Hi, I'm trying to render a model with some transparent part, but this is the result: Item model is rendering fine. Here the source code of the block: https://github.com/nik7007/upgrade_craft/blob/master/src/main/java/com/nik7/upgradecraft/blocks/AbstractFluidTankBlock.java https://github.com/nik7007/upgrade_craft/blob/master/src/main/java/com/nik7/upgradecraft/blocks/WoodenFluidTankGlassedBlock.java Here the generation code: https://github.com/nik7007/upgrade_craft/blob/master/src/main/java/com/nik7/upgradecraft/datagenerators/BlockStateProviderUpgC.java#L48 Here the json stuff: https://github.com/nik7007/upgrade_craft/blob/master/src/main/resources/assets/upgradecraft/blockstates/wooden_fluid_tank_glassed_block.json https://github.com/nik7007/upgrade_craft/blob/master/src/main/resources/assets/upgradecraft/models/block/fluid_tank.json https://github.com/nik7007/upgrade_craft/blob/master/src/main/resources/assets/upgradecraft/models/block/wooden_fluid_tank_glassed.json Can anyone kindly help me out?
  3. I changed it, but texture is still not visible.
  4. This is the json file: https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/resources/assets/upgcraft/blockstates/BlockActiveLava.json
  5. I changed the ResourceLocation in this way, but it didn't work. super("ActiveLava", new ResourceLocation(Reference.MOD_ID, "textures/blocks/ActiveLava_still"), new ResourceLocation(Reference.MOD_ID, "textures/blocks/ActiveLava_flow")); EDIT: I tried this to see if the ResourceLocation was correct, in this way the fluid in the bucket has a texture, but not the BlockFluid. @SubscribeEvent public void onRegisterTexture(TextureStitchEvent.Pre event){ event.getMap().registerSprite(new ResourceLocation(Reference.MOD_ID, "blocks/ActiveLava_still")); event.getMap().registerSprite(new ResourceLocation(Reference.MOD_ID, "blocks/ActiveLava_flow")); }
  6. The texture of the fluids are the first two png.
  7. Textures are present in the project. There are no errors in the console about the fluid
  8. I think you need to convert your model in json and then register the item to the ItemModelMesher as usual.
  9. I added a new fluid with its block and bucket and everything is present in minecraft, but the fluid and block has the pink/black missing texture. This is how I register the fluid: https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/init/ModFluids.java Fluid classes https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/fluid/FluidUpgC.java https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/fluid/FluidUpgCActiveLava.java Block classes https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/block/BlockFluidUpgC.java https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/block/BlockFluidUpgCActiveLava.java Render class https://github.com/nik7007/UpgradeCraft/blob/1.9/src/main/java/com/nik7/upgcraft/proxy/ClientProxy.java
  10. I solved the problem! private void updateLight() { if (worldObj.isRemote) { IBlockState blockState = worldObj.getBlockState(pos); if (blockState != null) worldObj.notifyBlockUpdate(pos, blockState, blockState, 3); } worldObj.checkLightFor(EnumSkyBlock.BLOCK,pos); }
  11. 20 is a random number just to see if it works. The BlockUpgC class does nothing special... package com.nik7.upgcraft.block; import com.nik7.upgcraft.creativetab.CreativeTab; import com.nik7.upgcraft.reference.Reference; import com.nik7.upgcraft.util.StringHelper; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import java.util.Random; public abstract class BlockUpgC extends Block implements IBlockUpgC { protected final String name; public BlockUpgC(String name) { super(Material.rock); this.name = name; this.setUnlocalizedName(name); } public BlockUpgC(Material material, String name) { super(material); this.setCreativeTab(CreativeTab.UPGC_TAB); this.name = name; this.setUnlocalizedName(name); } @Override public String getName() { return name; } @SideOnly(Side.CLIENT) protected void spawnParticles(World worldIn, BlockPos pos, Random rand, EnumParticleTypes... particles) { float f = (float) pos.getX() + 0.5F; float f1 = (float) pos.getY() + rand.nextFloat(); float f2 = (float) pos.getZ() + 0.5F; float f3 = 0.52F; float f4 = rand.nextFloat() * 0.6F - 0.3F; for (EnumParticleTypes p : particles) { worldIn.spawnParticle(p, (double) (f - f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); worldIn.spawnParticle(p, (double) (f + f3), (double) f1, (double) (f2 + f4), 0.0D, 0.0D, 0.0D); worldIn.spawnParticle(p, (double) (f + f4), (double) f1, (double) (f2 - f3), 0.0D, 0.0D, 0.0D); worldIn.spawnParticle(p, (double) (f + f4), (double) f1, (double) (f2 + f3), 0.0D, 0.0D, 0.0D); worldIn.spawnParticle(p, pos.getX() + 0.5D - rand.nextDouble(), (double) pos.getY() + 1, pos.getZ() + 0.5D - rand.nextDouble(), 0.0D, 0.0D, 0.0D); } } @Override public String getUnlocalizedName() { return String.format("tile.%s%s", Reference.RESOURCE_PREFIX, StringHelper.getUnwrappedUnlocalizedName(super.getUnlocalizedName())); } }
  12. It doesn't work... I use the method in this way: BlockPos minPos = pos.add(-20, -20, -20); BlockPos maxPos = pos.add(20, 20, 20); worldObj.markBlockRangeForRenderUpdate(minPos, maxPos); It's correct?
  13. I wrote a block with its tileentity for just testing the lighting and I get the same result as with tanks... Block code: package com.nik7.upgcraft.block; import com.nik7.upgcraft.tileentities.TestTE; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; public class TestBlock extends BlockUpgC implements ITileEntityProvider { public TestBlock() { super(Material.cake, "test"); } @Override public TileEntity createNewTileEntity(World worldIn, int meta) { return new TestTE(); } @Override public int getLightValue(IBlockState state, IBlockAccess world, BlockPos pos) { TileEntity te = world.getTileEntity(pos); if (te instanceof TestTE) return ((TestTE) te).getLight(); return super.getLightValue(state, world, pos); } } TileEntity code: package com.nik7.upgcraft.tileentities; import net.minecraft.block.state.IBlockState; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; import net.minecraft.network.Packet; import net.minecraft.network.play.server.SPacketUpdateTileEntity; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ITickable; public class TestTE extends TileEntity implements ITickable { private int l = 0; private int tick = 0; private boolean up = true; public int getLight() { worldObj.notifyLightSet(pos); return l; } @Override public void writeToNBT(NBTTagCompound compound) { super.writeToNBT(compound); compound.setInteger("l", l); } @Override public void readFromNBT(NBTTagCompound compound) { super.readFromNBT(compound); l = compound.getInteger("l"); } @Override public Packet<?> getDescriptionPacket() { NBTTagCompound tag = new NBTTagCompound(); writeToNBT(tag); SPacketUpdateTileEntity buff = new SPacketUpdateTileEntity(pos, 0, tag); return buff; } @Override public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) { readFromNBT(packet.getNbtCompound()); IBlockState blockState = worldObj.getBlockState(pos); if (blockState != null) { worldObj.notifyBlockUpdate(pos, blockState, blockState, 3); } worldObj.notifyNeighborsOfStateChange(pos, blockType); worldObj.notifyBlockOfStateChange(pos, blockType); } @Override public void update() { if (tick == 0) { if (up) { if (l < 15) l++; else up = false; } else { if (l > 0) l--; else up = true; } IBlockState blockState = worldObj.getBlockState(pos); if (blockState != null) worldObj.notifyBlockUpdate(pos, blockState, blockState, 3); markDirty(); } tick++; tick %= 20 / 2; } }
  14. The strange thing is that if I put another light source such as a torch, everything is fine, even when I take off the torch and let only my tank... Edit: After I do that, if i remove also the tank the light remains...
  15. I have changed the function in this way: @Override public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) { readFromNBT(packet.getNbtCompound()); IBlockState blockState = worldObj.getBlockState(pos); if (blockState != null) worldObj.notifyBlockUpdate(pos, blockState, blockState, 3); } But I have the same behavior as before...
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.