Has anybody figured out how to register Blocks with Property Enum on 1.12.2, Old code https://pastebin.com/aBguc6T3Problem is GameRegistry.register is now hidden and now requires either ForgeRegistries constants Or the registry passed in during the RegistryEvent.Register<T> event and i cant figure out how to get this to work.
After much colaberation with other very smart ppl this has been solve if you need info on how this was solved plz let me know
I am Registering Mobs using http://pastebin.com/UAtdAS8G now I would like to add diff types using enum types. I have everything in place but I cant figure out how to register each type using the registerEntity method due to the fact that it calls for a class, when I need to call a type.
Thanks for the info however I just found out the fix like I said it wasnt a prob with getting the item to render it was just linked to the wrong part of the model.
But by overriding getArmForSide it is now linked to the correct model part
I am trying to get my custom entity to carry a sword/tool or wear armor so far Iv been able to get it to render, but Im having trouble getting it to attach to the right model part. Is there a way to set a part of the model to reference an armor slot/mainhand/offhand, or do I need to do the math for for each slot and just hard code it into the rotation.
Im willing to learn both ways of doing this and im still looking into the other method but as to updating the TE the prob is theres not a lot of good docs on this but this is what Iv came up with so far still doesnt work but I think im getting closer
@Override
public NBTTagCompound getUpdateTag() {
return writeToNBT(new NBTTagCompound());
}
@Override
public SPacketUpdateTileEntity getUpdatePacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
this.writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) {
this.readFromNBT(packet.getNbtCompound());
}
oh my bad I was thinking the TE update method updated the values of the furnace. So I went through and updated everything to the new methods using the MC furnace as a guide, created the fields, moved the getProgressScaled/getPowerRemainingScaled to the GUI and updated the container using the fields method. It worked sort of when I open the gui the progress is at 0, However I missed something like I said I am using isSmelting to spawn partials and they dont stop spawning till I open the gui then it updates and turns them off. and Thanks for the Help
But this isnt just a visual bug in the gui because im using isSmelting to spawn partials and when im in the gui they stop just like they should but if I close out of the gui they dont stop till I smelt something else and keep the GUI open then it it works fine. So to me it sounds like something weird with the isSmelting or maybe my update methods but I cant find anything wrong with them
On my custom furnace for some reason if im watching the GUI and it finishes smelting the progress stops at 0, however if I start smelting and close out of the GUI till its done when I reopen the GUI the progress is stuck between 8-10% till I smelt something else and keep the GUI open then it goes back to 0.
After hrs of playing around with this and looking at countless examples of spawn particles Iv found the easiest method of doing this is by referencing the TE directly this gets rid of the need for a bool in the block class to spawn particles.
TileEntityAlloyFurnace Te = (TileEntityAlloyFurnace) worldIn.getTileEntity(pos);
if(Te != null && te.isSmelting())
Side note: this has reviled another prob for some reason when im not in the GUI the furnace keeps running for a sec after its done smelting thus it never turns off. If im watching the GUI and it finishes smelting the progress stops at 0, if I start smelting and close out of the GUI till its done when I reopen the GUI its stuck between 8-10% till I smelt something else and keep the GUI open then it goes back to 0
Ok maybe Iv been looking at this too long but you lost me there do I need to add ISBURNING to my
Block#getStateFromMeta and Block#getMetaFromState and if so how do i add it. I know that with Block#getStateFromMeta you use the .withProperty method but im not sure about the Block#getMetaFromState.
Or do I need to create new methods to store the ISBURNING values
0
Is it possible to use both pos and neg "axis=y" "axis=z" "axis=x" to be able to rotate a block like the log but also be affected by pos or neg
0
Has anybody figured out how to register Blocks with Property Enum on 1.12.2, Old code https://pastebin.com/aBguc6T3Problem is GameRegistry.register is now hidden and now requires either ForgeRegistries constants Or the registry passed in during the RegistryEvent.Register<T> event and i cant figure out how to get this to work.
After much colaberation with other very smart ppl this has been solve if you need info on how this was solved plz let me know
0
yes
0
I am Registering Mobs using http://pastebin.com/UAtdAS8G now I would like to add diff types using enum types. I have everything in place but I cant figure out how to register each type using the registerEntity method due to the fact that it calls for a class, when I need to call a type.
0
Thanks for the info however I just found out the fix like I said it wasnt a prob with getting the item to render it was just linked to the wrong part of the model.
But by overriding getArmForSide it is now linked to the correct model part
@Override
protected ModelRenderer getArmForSide(EnumHandSide side)
{
return side == EnumHandSide.LEFT ? this.ogreLeftArm : this.ogreRightArm;
}
0
I am trying to get my custom entity to carry a sword/tool or wear armor so far Iv been able to get it to render, but Im having trouble getting it to attach to the right model part. Is there a way to set a part of the model to reference an armor slot/mainhand/offhand, or do I need to do the math for for each slot and just hard code it into the rotation.
model
http://pastebin.com/QQFBzB90
1
renderAsNormalBlock has been replaces by isFullCube and you also need to add
@Override
public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.TRANSLUCENT;
}
You can get more info on Block Rendering at
http://greyminecraftcoder.blogspot.com/2014/12/block-rendering-18.html
and yes the info still applies to 1.10
0
Thanks that did it Thanks to all for Helping
BTW heres how I implemented it I just added to my TE update method
if (flag != isSmelting()) {
flag1 = true;
IBlockState state = worldObj.getBlockState(pos);
worldObj.notifyBlockUpdate(pos, state, state, 3);
}
0
Im willing to learn both ways of doing this and im still looking into the other method but as to updating the TE the prob is theres not a lot of good docs on this but this is what Iv came up with so far still doesnt work but I think im getting closer
@Override
public NBTTagCompound getUpdateTag() {
return writeToNBT(new NBTTagCompound());
}
@Override
public SPacketUpdateTileEntity getUpdatePacket() {
NBTTagCompound nbtTag = new NBTTagCompound();
this.writeToNBT(nbtTag);
return new SPacketUpdateTileEntity(getPos(), 1, nbtTag);
}
@Override
public void onDataPacket(NetworkManager net, SPacketUpdateTileEntity packet) {
this.readFromNBT(packet.getNbtCompound());
}
0
oh my bad I was thinking the TE update method updated the values of the furnace. So I went through and updated everything to the new methods using the MC furnace as a guide, created the fields, moved the getProgressScaled/getPowerRemainingScaled to the GUI and updated the container using the fields method. It worked sort of when I open the gui the progress is at 0, However I missed something like I said I am using isSmelting to spawn partials and they dont stop spawning till I open the gui then it updates and turns them off. and Thanks for the Help
block
http://pastebin.com/4cB3EAGE
container
http://pastebin.com/nmDaskpg
tile
http://pastebin.com/fmyWChHL
gui
http://pastebin.com/F3gkAau6
0
But this isnt just a visual bug in the gui because im using isSmelting to spawn partials and when im in the gui they stop just like they should but if I close out of the gui they dont stop till I smelt something else and keep the GUI open then it it works fine. So to me it sounds like something weird with the isSmelting or maybe my update methods but I cant find anything wrong with them
0
On my custom furnace for some reason if im watching the GUI and it finishes smelting the progress stops at 0, however if I start smelting and close out of the GUI till its done when I reopen the GUI the progress is stuck between 8-10% till I smelt something else and keep the GUI open then it goes back to 0.
Heres my TE
http://pastebin.com/CbtsBtrG
0
After hrs of playing around with this and looking at countless examples of spawn particles Iv found the easiest method of doing this is by referencing the TE directly this gets rid of the need for a bool in the block class to spawn particles.
TileEntityAlloyFurnace Te = (TileEntityAlloyFurnace) worldIn.getTileEntity(pos);
if(Te != null && te.isSmelting())
Side note: this has reviled another prob for some reason when im not in the GUI the furnace keeps running for a sec after its done smelting thus it never turns off. If im watching the GUI and it finishes smelting the progress stops at 0, if I start smelting and close out of the GUI till its done when I reopen the GUI its stuck between 8-10% till I smelt something else and keep the GUI open then it goes back to 0
Edit: created post for this new prob
Weird Smelting Bug
0
First break time then Ill look up bitwise operators and let you know what I come up with
Edit: any suggested reading on bitwise operators
0
Ok maybe Iv been looking at this too long but you lost me there do I need to add ISBURNING to my
Block#getStateFromMeta and Block#getMetaFromState and if so how do i add it. I know that with Block#getStateFromMeta you use the .withProperty method but im not sure about the Block#getMetaFromState.
Or do I need to create new methods to store the ISBURNING values