
SirBrodzik832
Members-
Posts
12 -
Joined
-
Last visited
Converted
-
Gender
Male
-
Location
Poland
-
Personal Text
SiR Member
SirBrodzik832's Achievements

Tree Puncher (2/8)
0
Reputation
-
About: Calculus is a mod, which introduces mathematical mechanics to Minecraft. Note that it has nothing to do with calculus (the study of change) itself. This mod is brand new and I am still working on it. Currently it has two craftable calculators, which can help you solve different equations! I will be implementing more stuff in the future. Screenshots: Downloads: Recommended: LATEST VERSION Archived versions: Crafting recipes: Changelog: Copyright & license:
-
In conclusion [if anyone had the same problem], I managed to sync the data (variables) by adding this: TileEntityC4.class @Override public void onDataPacket(NetworkManager net, S35PacketUpdateTileEntity pkt) { NBTTagCompound tag = pkt.func_148857_g(); facing = tag.getInteger("facing"); side = tag.getInteger("side"); } @Override public Packet getDescriptionPacket() { NBTTagCompound tag = new NBTTagCompound(); writeToNBT(tag); return new S35PacketUpdateTileEntity(xCoord, yCoord, zCoord, blockMetadata, tag); } Everything renders and rerenders correctly now! EDIT: removed useless schedule block update.
-
Hello, I have created a C4 explosive block. I managed to have it rotate and/or flip in any direction depending on the side and direction it is placed on. The problem: when I reload the world/Minecraft the rotation is not saved. Important: the variables: side and facing are saved in the TileEntity correctly! I hope that somehow refreshing (rerendering) the block will fix my problem. Thanks. BlockC4.class public class BlockC4 extends BlockContainer { public static final Material c4 = new Material(MapColor.tntColor); private int side; protected BlockC4() { super(c4); setBlockName(BlockData.C4_UNLOCALIZED); setStepSound(soundTypeGrass); } @Override public int onBlockPlaced(World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ, int meta) { this.side = side; return super.onBlockPlaced(world, x, y, z, side, hitX, hitY, hitZ, meta); } @Override public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entityLivingBase, ItemStack itemStack) { TileEntityC4 tileEntityC4 = (TileEntityC4) world.getTileEntity(x, y, z); int facing = MathHelper.floor_double((double) ((entityLivingBase.rotationYaw * 4F) / 360F) + 0.5D) & 3; tileEntityC4.facing = facing; tileEntityC4.side = side; world.setBlockMetadataWithNotify(x, y, z, facing, 2); } @Override public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion explosion) { if (!world.isRemote) { world.setBlockToAir(x, y, z); world.createExplosion(null, x, y, z, 6.0F, true); } } @Override public TileEntity createNewTileEntity(World world, int var2) { return new TileEntityC4(); } @Override public int getRenderType() { return -1; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } } TileEntityC4.class public class TileEntityC4 extends TileEntity { public int facing; public int side; @Override public void readFromNBT(NBTTagCompound tag) { facing = tag.getInteger("facing"); side = tag.getInteger("side"); super.readFromNBT(tag); } @Override public void writeToNBT(NBTTagCompound tag) { tag.setInteger("facing", facing); tag.setInteger("side", side); super.writeToNBT(tag); } } RenderC4.class public class RenderC4 extends TileEntitySpecialRenderer { public static final ResourceLocation resourceLocation = new ResourceLocation(Reference.MOD_ID.toLowerCase(), "textures/models/c4.png"); private ModelC4 model; public RenderC4(ModelC4 model) { this.model = model; } public void renderC4(TileEntityC4 tileEntityC4, double x, double y, double z, float partialTickTime) { int facing = tileEntityC4.facing; int side = tileEntityC4.side; bindTexture(resourceLocation); GL11.glPushMatrix(); switch (side) { case 0: GL11.glTranslatef((float) x + 0.5F, (float) y - 0.5F, (float) z + 0.5F); GL11.glRotatef(180, 1F, 0F, 0F); break; case 2: GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z - 0.5F); GL11.glRotatef(270, 1F, 0F, 0F); break; case 3: GL11.glTranslatef((float) x + 0.5F, (float) y + 0.5F, (float) z + 1.5F); GL11.glRotatef(90, 1F, 0F, 0F); break; case 4: GL11.glTranslatef((float) x - 0.5F, (float) y + 0.5F, (float) z + 0.5F); GL11.glRotatef(90, 0F, 0F, 1F); break; case 5: GL11.glTranslatef((float) x + 1.5F, (float) y + 0.5F, (float) z + 0.5F); GL11.glRotatef(270, 0F, 0F, 1F); break; default: GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); } switch (facing) { case 0: GL11.glRotatef(0, 0F, 1F, 0F); break; case 1: GL11.glRotatef(270, 0F, 1F, 0F); break; case 2: GL11.glRotatef(180, 0F, 1F, 0F); break; case 3: GL11.glRotatef(90, 0F, 1F, 0F); break; } GL11.glScalef(1.0F, -1F, -1F); model.render(null, 0, 0, 0, 0, 0, 0.0625F); GL11.glPopMatrix(); } @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float partialTickTime) { renderC4((TileEntityC4) tileEntity, x, y, z, partialTickTime); } } ModelC4.class ... Block placed World/Minecraft reloaded
-
Hmm, yeah, if there's a GitHub for Forge then we could fork it, suggest commits.
-
Yeah... so when can we get an ETA on MinecraftForge for 1.7.1? The update is called "The update that changed the world".
-
[Solved] Custom structure world generation
SirBrodzik832 replied to SirBrodzik832's topic in Modder Support
Actually I think I solved this problem myself, but the post shall remain here for others to come. Yes you can turn your buldings into MCEdit .schematics and then use this file converter: http://www.minecraftforum.net/topic/1336152-132-updated-metadata-support-simple-schematic-to-java-file-converter/ -
I have just started world generation and I know how to setup the class(es) to generate structures, but... Question: Is there a way to convert a built structure in Minecraft to Java code? Instead of having to build it using your imagination and: this.placeBlockAtCurrentPosition....blah.blah.blah..., this.placeBlockAtCurrentPosition.... Is there an automatic way of selecting your built structure and have it converted into code form and then just copying the code into your mod's class? Maybe there's a way w/ MCedit .schematic? Thanks!
-
[ANSWERED] Question about mod updating...
SirBrodzik832 replied to SirBrodzik832's topic in Modder Support
Ok I will. Thanks for the fast reply! -
This might be a really silly/simple question, but... How do you update vanilla Minecraft + Forge in Eclipse? Will I have to delete it and put in the new version and set up my Dev Environment all over again? OR do I delete my /Development/MCP [with forge] folder and reinstall a new version of forge and Eclipse keeps all my environment settings such as minecraft source folders/etc., but replaces them w/ a new version? Thanks! P.S. I know updating your mod means to fix any conflicts that stop the mod from working on a new version of MC and/or add features and such.