Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

nik7

Members
  • Joined

  • Last visited

  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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.