Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

perromercenary00

Members
  • Posts

    564
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Recent Profile Visitors

3048 profile views

perromercenary00's Achievements

Dragon Slayer

Dragon Slayer (6/8)

2

Reputation

  1. there was a time when the nbt system was broken and the nbt data in the server side was sinced no more to client side, they inplement a capabilities system and whith them you have to implement a package system to custome send only the data nesesary to the client side that was too shitty and too complicated soo make some animation on a item wass ridicolus i do this but end diching out minecraft modding as hobby https://studio.youtube.com/video/A_Hj05Yr2xs/edit if clasic nbttags are back doing something like this is cheape easy relatibely easy
  2. well im doing something again after long time i see a post asking for examples of nbt for 1.15 and do in a test_item <code> CompoundTag nbtTagCompound = itemStack.getTag(); if (nbtTagCompound == null) { nbtTagCompound = new CompoundTag(); itemStack.setTag(nbtTagCompound); } if (nbtTagCompound != null ) { if( !world.isClient ) { nbtTagCompound.putInt("x", nbtTagCompound.getInt("x") + 1 ); } System.out.println( "nbtTag x =" + world.isClient + " => " + nbtTagCompound.getInt("x") ); } </code> the nbt is working and the data writed in the server side is being pased to client side are NBT reimplemented can i use them to control animations to items and do complicated stuf ? what happen to the capabilities system ¿ was discarted
  3. goods i need to align an entity on a blockface but i need to work on nonfull size blocks like slabs or fences minecraft 1.16 has no more the EnumFacing attribute and for some reason they change raytrace name to raycast anyway i need to know to what face of the non-fullsize block where te raycast hit the block thanks for your time
  4. goog days i have a trouble and a broken english im doing some code to make guns in minecraft but i have this trouble i have a basic gun is this moment i make it shoot for rounds every time i press rigthclick one bullet every 256 milliseconds the gun works the shoot animation runs but notice than most of the times there was no sound effect and the code is not execute and no damage is cause to the target entity // ########################################################### public boolean disparo(ItemStack stack, World world, Entity entity) { if (world.isRemote) { //entity.world.playSound(null, entity.getPosition(), sonidos.pistola75nf_disparo, SoundCategory.PLAYERS, 2.0F,1.0F); return true; } if (!world.isRemote) { if (this.ammunition > 0) { entity.world.playSound(null, entity.getPosition(), sonidos.pistola75nf_disparo, SoundCategory.PLAYERS,2.0F, 1.0F); // this class do all the math necessary to calculate the bullet trajectory and return the affected entities objetoobjetivo objetivo = new objetoobjetivo(world, entity, 20, 1); if (objetivo.getHayEntidades()) { //there is afected entities ? ArrayList<Entity> entidades = objetivo.getEntidades(); Entity targetEntity = entidades.get(0); boolean isheadshoot = false; float dice = rollsAd100dice(); //random float number from 0.0F to 100 boolean iscritico = (dice < this.critico) ? true : false; dice = rollsAd100dice(); boolean iselemental = (dice < this.echange) ? true : false; for (int e = 0; e < entidades.size(); e++) { if (targetEntity != null && targetEntity instanceof EntityLivingBase) { EntityLivingBase livingtarget = (EntityLivingBase) targetEntity; isheadshoot = objetivo.isheadshoot(livingtarget); float hp = livingtarget.getHealth(); float maxhp = livingtarget.getMaxHealth(); float pain = (iscritico) ? (this.damage * 1.5F) : this.damage; pain = (isheadshoot) ? (pain * 1.5F) : pain; hp -= pain; hp =(hp < 0.0F)? 0.0F : hp ; livingtarget.setHealth(hp); //shows mesage on the player screen chat.chatm(entity, "#" + this.getTic() + " headshoot=" + isheadshoot + " iscritico=" + iscritico + " hp=" + livingtarget.getHealth()+"/"+maxhp); } } } } this.ammunition--; this.ammunition = (this.ammunition < 1) ? 0 : this.ammunition; return true; } return false; } soo i disable the sound before the shoot code and now its runs perfect if (!world.isRemote) { if (this.ammunition > 0) { // entity.world.playSound(null, entity.getPosition(), sonidos.pistola75nf_disparo, SoundCategory.PLAYERS,2.0F, 1.0F); also notice than the sound dont'n works when i execute this client side entity.world.playSound(null, entity.getPosition(), sonidos.pistola75nf_disparo, SoundCategory.PLAYERS,2.0F, 1.0F); when i play the sound for the bullet shoot its most of the times fucks up server side is not like totally crashig the virtual server but it stalls and run no more code until next tic soo i must wrong using sounds is this the right way to play a sound ?? and why is not working client side entity.world.playSound(null, entity.getPosition(), sonidos.pistola75nf_disparo, SoundCategory.PLAYERS,2.0F, 1.0F);
  5. lets say i need just a guide or a functional code whit an item runing whit a b3d model just to use as example to fix mi code
  6. good days lets start whit this this is an animation i did in the complicated way i make 60 frames and set the speed to one frame every 100ms so it play slow and all the frames become visible normally it plays one frame every 25ms i can control the animation in this case i launch it whit right-click, the trouble i have with this is to make the animation of the magazine take out from the gun if could just offset the magazine texture i just simply could make another script to edit the json frames and move the magazine texture under the gun texture frame by frame well i just don't wanna create 20 png files to animate the magazine movement anyway someone tell mi about minecrafts animation api and point it here https://mcforge.readthedocs.io/en/latest/animation/intro/ well here is a very superficial explanation on the class there is no examples and leave mi whit some questions and i don't know where to start * first of all this works with b3d models or whit json, * this armatures and joins goes in json files but definitively are not the model per se * in the animation of the gun i made i launch the animation whenever i want i write and nbt tag accion = 2 in the server side and thats the signal for the client side to start the animation, soo the question is how i pases data to control animations ? * how do you declare than an item gonna use a b3d model or whatever * and more important what is a b3d model an how you create one i know i know this all are nubie questions but what we gonna do has someone already made a guide explaining all this but like for dummies ?? and Sorry for the broken english
  7. i need to Mach two png files in texture for an item json all this to make a simple animation vanilla bow style lets say i got this json file in whitch i have two textures i need to fix the layer0 some pixels down normally it looks like this but i need to displace the magazine gradually to make it look like this i have this json { "parent": "modmercenario:item/prueba00/parental00", "textures": { "layer0": "modmercenario:items/armasdefuego/armas9mm/atss00", "layer1": "modmercenario:items/armasdefuego/armas9mm/atlassilver" } } but really what i want is somethin like this code "textures": { "layer0": { "texture":"modmercenario:items/armasdefuego/armas9mm/atss00", "translation":[-6,0,0] }, "layer1": { "texture":"modmercenario:items/armasdefuego/armas9mm/atlassilver", "translation":[0,0,0] } } is this posible ?? how can i declare the layer in the item json whit an offset ?? or is posible the get the "parent": "item/generated" json and customize it to make a plain item but whit more complex layers? Thanks fopr reading and sorry for the broken english
  8. jummm interesting adding this two methods to the item class enable minecraft to read the nbt and sync it to remote world this also fix mi capabilitie issue the data is also reaching remote client // ############################################################################################3 /** * Override this method to decide what to do with the NBT data received from getNBTShareTag(). * * @param stack The stack that received NBT * @param nbt Received NBT, can be null */ @Override public void readNBTShareTag(ItemStack stack, @Nullable NBTTagCompound nbt) { stack.setTagCompound(nbt); } // ############################################################################################3 /** * Override this method to change the NBT data being sent to the client. * You should ONLY override this when you have no other choice, as this might change behavior * client side! * * Note that this will sometimes be applied multiple times, the following MUST be supported: * Item item = stack.getItem(); * NBTTagCompound nbtShare1 = item.getNBTShareTag(stack); * stack.setTagCompound(nbtShare1); * NBTTagCompound nbtShare2 = item.getNBTShareTag(stack); * assert nbtShare1.equals(nbtShare2); * * @param stack The stack to send the NBT tag for * @return The NBT tag */ @Nullable @Override public NBTTagCompound getNBTShareTag(ItemStack stack) { return stack.getTagCompound(); } inow tha is working i gona stick whit the capabilitie method Thanks for the help now i gona set the post as solved
  9. and how goes this share tag mechanics when i search it it just display old nbttags guides
  10. well originally in 1.8 i use nbttags to store data in the itemstack in the server side whit it i can control animations in the remote world this video was in 1.10 or 1.11 don't remember clearly and the code is missing somewhere in the time nbttags stop syncing between worlds anymore someone tell me i have to move into capabilities i do so move to capabilities hoping it gonna sync i do a lot of code then it result into not syncing after all capabilities are based on nbt public void deserializeNBT(NBTBase nbtIn) {} public NBTBase serializeNBT() {} packages sound promising but lets say what happens if server send data to an item when im storing it or doping it and is no more in main hand when the remote side gets the package an there is not the item in the player hand or this itemstack has change to to this other lets say i need to change an item in a entity inventory
  11. after calming down I was dusting off my old package manager thinking a way to send specific data to an specific item on a specific player world and well forge has already some kind of tool to do this or I must write it ? like in this case i need to serialize and send a long ,4 bytes and a Int
  12. public static final PropertyInteger LEVEL = PropertyInteger.create("level", 0, 3); is a remains of another test "Capabilities on items are not synced to the client by default" i don't like this part i need it to update the nbt values to the client so it could control animations to the item wait wait wait soo if the capability don't update to client then what capabilities are intended for?. if i have to create a custom package system just to manually sync simple values i could just keep using directly nbttags. this capability code i write is simple useless arfffffffff
  13. Goo days and sorry for the broken English im doing a custome capability to manage some weapons and tools actually still in develop stage when i was doing mi code i notice that the values i set in item stack in the server side are not reaching the client side so i made a test item to check it out, but still the values i change remain even after i close the world , lets explain it better i have a test item "prueba00" and a costume capability "animacionMercenaria" in the item left click: i set a value for the variable action only in the server in the item righ click: only display the value of action in both worlds // ############################################################################################3 //@Override public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) { boolean sePudo = true; ItemStack stack = player.getHeldItem(hand); player.setActiveHand(hand); animacionMercenaria alm = getAlmacenamiento(stack); byte action = alm.getAccion(); chat.chatm((EntityPlayer)player, world.isRemote + "RIGHTCLICK, accion=" + alm.getAccion() ); if (stack.getMetadata() < 1) { player.setActiveHand(hand); return new ActionResult(EnumActionResult.SUCCESS, stack); } else { return new ActionResult(EnumActionResult.FAIL, stack); } } // ############################################################################################3 @Override public boolean onEntitySwing(EntityLivingBase player, ItemStack stack) { World world = player.world; animacionMercenaria alm = getAlmacenamiento(stack); if( !world.isRemote ) { byte action = alm.getAccion(); alm.setAccion(action + 1); chat.chatm((EntityPlayer)player, world.isRemote + "LEFTCLICK, accion=" + alm.getAccion() ); } return true; } // ############################################################################################3 this is the output //i press three times left click to set action to '4' [07:56:07] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseLEFTCLICK, accion=2 [07:56:09] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseLEFTCLICK, accion=3 [07:56:10] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseLEFTCLICK, accion=4 //but it only change in the server side, the local side remains in 1 [07:56:14] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] trueRIGHTCLICK, accion=1 [07:56:14] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseRIGHTCLICK, accion=4 [07:56:20] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] trueRIGHTCLICK, accion=1 [07:56:20] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseRIGHTCLICK, accion=4 if i close minecraf and open again and just rightclick the item //the value was saved and is now set in bot worlds [08:03:55] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] trueRIGHTCLICK, accion=4 [08:03:57] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseRIGHTCLICK, accion=4 [08:04:02] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] trueRIGHTCLICK, accion=4 [08:04:02] [Client thread/INFO] [minecraft/GuiNewChat]: [CHAT] falseRIGHTCLICK, accion=4 ################################################################# jummmmm what could be wrong here ?? Prueba00 package modmercenario.items.pruebas; import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Enchantments; import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.IItemPropertyGetter; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.items.CapabilityItemHandler; import modmercenario.modmercenario; import modmercenario.init.Mitems; import modmercenario.items.materiales.materialBasico; import modmercenario.poderes.animacionMercenaria; import modmercenario.poderes.cdalm; import modmercenario.utilidades.chat; import modmercenario.utilidades.objetoobjetivo; import modmercenario.utilidades.util; //############################################################################################3 public class prueba00 extends materialBasico { private static String name = "materialesSuspensionderedstone"; public static final PropertyInteger LEVEL = PropertyInteger.create("level", 0, 3); // ############################################################################################3 public prueba00(String name) { super(name); //setRegistryName("prueba00/" + name); this.setHasSubtypes(false); this.maxStackSize = 1; this.setCreativeTab(modmercenario.materiales); //estado this.addPropertyOverride(new ResourceLocation("est"), new IItemPropertyGetter() { @SideOnly(Side.CLIENT) public float apply(ItemStack stack, World worldIn, EntityLivingBase entityIn) { animacionMercenaria alm = getAlmacenamiento(stack); return alm.getAnimation(); } }); }// fin de contructor // ############################################################################################3 // ############################################################################################3 @Override public ICapabilityProvider initCapabilities(ItemStack item, NBTTagCompound nbt) { if (item.getItem() instanceof prueba00) { animacionMercenaria alm = new animacionMercenaria(item, nbt); return alm; } return null; } // ############################################################################################3 public animacionMercenaria getAlmacenamiento(ItemStack stackIn) { //animacionMercenaria alm = getAlmacenamiento(stack); animacionMercenaria alm = (animacionMercenaria) stackIn.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, EnumFacing.UP); return alm; } // ############################################################################################3 @Override public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) { boolean sePudo = true; ItemStack stack = player.getHeldItem(hand); player.setActiveHand(hand); animacionMercenaria alm = getAlmacenamiento(stack); byte action = alm.getAccion(); chat.chatm((EntityPlayer)player, world.isRemote + "RIGHTCLICK, accion=" + alm.getAccion() ); if (stack.getMetadata() < 1) { player.setActiveHand(hand); return new ActionResult(EnumActionResult.SUCCESS, stack); } else { return new ActionResult(EnumActionResult.FAIL, stack); } } // ############################################################################################3 @Override public boolean onEntitySwing(EntityLivingBase player, ItemStack stack) { World world = player.world; animacionMercenaria alm = getAlmacenamiento(stack); if( !world.isRemote ) { byte action = alm.getAccion(); alm.setAccion(action + 1); chat.chatm((EntityPlayer)player, world.isRemote + "LEFTCLICK, accion=" + alm.getAccion() ); } return true; } // ############################################################################################3 // #########################################################################3 @Override public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { return !ItemStack.areItemStacksEqual(oldStack, newStack); } // ############################################################################################3 }// fin de la classe capability animacionMercenaria package modmercenario.poderes; import modmercenario.utilidades.util; import net.minecraft.entity.Entity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.capabilities.ICapabilityProvider; import net.minecraftforge.common.capabilities.ICapabilitySerializable; import net.minecraftforge.items.CapabilityItemHandler; import net.minecraftforge.items.ItemStackHandler; public class animacionMercenaria implements ICapabilityProvider, ICapabilitySerializable { private boolean init = false; private boolean play = false; private boolean pause = false; private boolean stop = false; private boolean hand = true; private long time = 0; private long accionstart = 0; private long accionfinis = 0; private short modelo = 0; //desde donde comienza a contar la animacion max 32,767 private byte accion = 0;//hasta 256 // 100 private byte paso = 0;//hasta 256 // 1 private byte maxpaso = 0;//hasta 256 private byte pasos[] = {0}; private short municion = 0; private short maxmunicion = 0; private short altmunicion = 0; private short altmaxmunicion = 0; private int serial = 0; private long inicializaciontime = 0L;// fecha de la primera inicializacion private long ultrevisioninv = 0L;// ultima vez que se revizo el inventario private ItemStack stack = ItemStack.EMPTY; private NBTTagCompound nbt = new NBTTagCompound(); private NBTTagCompound nbtIn = null; // constructor public animacionMercenaria(ItemStack item, NBTTagCompound nbtIn) { // this.entidad = entidadIn; this.stack = item; this.nbtIn = nbtIn; } public void clearNbt() { nbt = new NBTTagCompound(); } // ########################################################### @Override public NBTBase serializeNBT() { // System.out.println("### >>> serializeNBT()"); nbt.setBoolean("init",init ); nbt.setBoolean("play", play); nbt.setBoolean("pause", pause); nbt.setBoolean("stop", stop); nbt.setBoolean("hand",hand ); nbt.setLong("time", time); nbt.setLong("accionstart",accionstart ); nbt.setLong("accionfinis",accionfinis ); nbt.setShort("modelo", modelo); nbt.setByte("accion", accion); nbt.setByte("paso",paso ); nbt.setByte("maxpaso",maxpaso ); nbt.setByteArray("pasos", pasos); nbt.setShort("municion", municion); nbt.setShort("maxmunicion", maxmunicion); nbt.setShort("altmunicion",altmunicion ); nbt.setShort("altmaxmunicion", altmaxmunicion); nbt.setInteger("serial",serial ); nbt.setLong("inicializaciontime",inicializaciontime ); nbt.setLong("ultrevisioninv", ultrevisioninv); // nbtIn = nbt; return nbt; } // ########################################################### @Override public void deserializeNBT(NBTBase nbtIn) { // System.out.println("### >>> deserializeNBT"); NBTTagCompound nbt = (NBTTagCompound) nbtIn; init = nbt.hasKey("init") ? nbt.getBoolean("init") : false; play = nbt.hasKey("play") ? nbt.getBoolean("play") : false; pause = nbt.hasKey("pause") ? nbt.getBoolean("pause") : false; stop = nbt.hasKey("stop") ? nbt.getBoolean("stop") : false; hand = nbt.hasKey("hand") ? nbt.getBoolean("hand") : false; time = nbt.hasKey("time") ? nbt.getLong("time") : 0L; accionstart = nbt.hasKey("accionstart") ? nbt.getLong("accionstart") : 0L; accionfinis = nbt.hasKey("accionfinis") ? nbt.getLong("accionfinis") : 0L; modelo = nbt.hasKey("modelo") ? nbt.getShort("modelo") : 0; accion = (nbt.hasKey("accion")) ? nbt.getByte("accion") : 0; paso = nbt.hasKey("paso") ? nbt.getByte("paso") : 0; maxpaso = nbt.hasKey("maxpaso") ? nbt.getByte("maxpaso") : 0; pasos = nbt.hasKey("pasos") ? nbt.getByteArray("pasos") : pasos; municion = nbt.hasKey("municion") ? nbt.getShort("municion") : 0; maxmunicion = nbt.hasKey("maxmunicion") ? nbt.getShort("maxmunicion") : 0; serial = (nbt.hasKey("serial")) ? nbt.getInteger("serial") : 0; altmunicion = nbt.hasKey("altmunicion") ? nbt.getShort("altmunicion") : 0; altmaxmunicion = nbt.hasKey("altmaxmunicion") ? nbt.getShort("altmaxmunicion") : 0; } // ########################################################### @Override public boolean hasCapability(Capability<?> capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return true; } return false; } // ########################################################### @Override public <T> T getCapability(Capability<T> capability, EnumFacing facing) { if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) { return (T) this; // return (T) new ItemStackHandler(2/**the amount of slots you // want*/); // This is the default implementation by forge, but you'll likely // want to make your own by overriding. } return null; } // ########################################################### public static animacionMercenaria inicializar(ItemStack stackIn, animacionMercenaria xb) { xb.setInit(true); xb.setSerial(getSerialAlHazar()); xb.setStack(stackIn); return xb; } // ########################################################################3 public static int getSerialAlHazar() { int R = ((int) (Math.random() * 9)); R = R + (((int) (Math.random() * 9)) * 10); R = R + (((int) (Math.random() * 9)) * 100); R = R + (((int) (Math.random() * 9)) * 1000); R = R + (((int) (Math.random() * 9)) * 10000); R = R + (((int) (Math.random() * 9)) * 100000); R = R + (((int) (Math.random() * 9)) * 1000000); R = R + (((int) (Math.random() * 8)) * 10000000) + 1; return R; } // ########################################################### public int getAnimation() { if( this.isPlay() ) { long t = System.currentTimeMillis(); byte[] arr = this.getPasos(); int i = 0; i = (int)(( t - this.getAccionstart() ) / 50); i = ( i >= arr.length)? (arr.length - 1) : i; return (int)( arr[i] + this.getModelo() ); } return this.getModelo(); } // ########################################################### public void play(int accion) { this.setTime(System.currentTimeMillis()); long t = this.getTime(); this.setAccion(accion); this.setModelo(1); byte[] arr = {1,2,3,4,5,6,7,8,9,10}; this.setPasos(arr); arr = this.getPasos(); this.setAccionstart(t); this.setAccionfinis( this.getAccionstart() + ( arr.length * 50 )); this.setPlay(true); this.setStop(false); this.setPause(false); } // ########################################################### public boolean isInit() { return init; } public void setInit(boolean init) { this.init = init; } public boolean isPlay() { return play; } public void setPlay(boolean play) { this.play = play; } public boolean isPause() { return pause; } public void setPause(boolean pause) { this.pause = pause; } public boolean isStop() { return stop; } public void setStop(boolean stop) { this.stop = stop; } public boolean isHand() { return hand; } public void setHand(boolean hand) { this.hand = hand; } public long getTime() { return time; } public void setTime(long time) { this.time = time; } public long getAccionstart() { return accionstart; } public void setAccionstart(long accionstart) { this.accionstart = accionstart; } public long getAccionfinis() { return accionfinis; } public void setAccionfinis(long accionfinis) { this.accionfinis = accionfinis; } public short getModelo() { return modelo; } public void setModelo(int modelo) { this.modelo = (short)modelo; } public byte getAccion() { return accion; } public void setAccion(int accion) { this.accion = (byte)accion; } public byte getPaso() { return paso; } public void setPaso(byte paso) { this.paso = paso; } public byte getMaxpaso() { return maxpaso; } public void setMaxpaso(byte maxpaso) { this.maxpaso = maxpaso; } public byte[] getPasos() { return pasos; } public void setPasos(byte[] pasos) { this.pasos = pasos; } public short getMunicion() { return municion; } public void setMunicion(short municion) { this.municion = municion; } public short getMaxmunicion() { return maxmunicion; } public void setMaxmunicion(short maxmunicion) { this.maxmunicion = maxmunicion; } public short getAltmunicion() { return altmunicion; } public void setAltmunicion(short altmunicion) { this.altmunicion = altmunicion; } public short getAltmaxmunicion() { return altmaxmunicion; } public void setAltmaxmunicion(short altmaxmunicion) { this.altmaxmunicion = altmaxmunicion; } public int getSerial() { return serial; } public void setSerial(int serial) { this.serial = serial; } public long getInicializaciontime() { return inicializaciontime; } public void setInicializaciontime(long inicializaciontime) { this.inicializaciontime = inicializaciontime; } public long getUltrevisioninv() { return ultrevisioninv; } public void setUltrevisioninv(long ultrevisioninv) { this.ultrevisioninv = ultrevisioninv; } public ItemStack getStack() { return stack; } public void setStack(ItemStack stack) { this.stack = stack; } public NBTTagCompound getNbt() { return nbt; } public void setNbt(NBTTagCompound nbt) { this.nbt = nbt; } public NBTTagCompound getNbtIn() { return nbtIn; } public void setNbtIn(NBTTagCompound nbtIn) { this.nbtIn = nbtIn; } // ########################################################### }
  14. ya i got it also the textures i have to change mi items class to declare the textures accordantly @Override public void getSubItems (CreativeTabs tab, NonNullList<ItemStack> subItems) { if (getCreativeTab() != tab) return; super.getSubItems(tab, subItems); //subItems.add(new ItemStack(this, 1, 0)); subItems.add(new ItemStack(this, 1, 1)); subItems.add(new ItemStack(this, 1, 2)); subItems.add(new ItemStack(this, 1, 3)); subItems.add(new ItemStack(this, 1, 4)); subItems.add(new ItemStack(this, 1, 5)); } and the textures ModelLoader.setCustomModelResourceLocation(materialessuspensionderedstone, 1, new ModelResourceLocation( "modmercenario:materiales/materialessuspensionderedstone", "inventory")); ModelLoader.setCustomModelResourceLocation(materialessuspensionderedstone, 2, new ModelResourceLocation( "modmercenario:materiales/materialessuspensionderedstone", "inventory")); ModelLoader.setCustomModelResourceLocation(materialessuspensionderedstone, 3, new ModelResourceLocation( "modmercenario:materiales/materialessuspensionderedstone", "inventory")); ModelLoader.setCustomModelResourceLocation(materialessuspensionderedstone, 4, new ModelResourceLocation( "modmercenario:materiales/materialessuspensionderedstone", "inventory")); ModelLoader.setCustomModelResourceLocation(materialessuspensionderedstone, 5, new ModelResourceLocation( "modmercenario:materiales/materialessuspensionderedstone", "inventory")); Thanks for guidance now i gonna mark this as solved and continue whit the next
  15. good days I'm searching for a guide on how to use animation api to make a good looking items well i think is called animation api i get little information after decompressing the over watch mod and wanna make items luck like this an animated where i get i good guide to create good loking items an animate them tanks for reading sorry for broken english
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.