
alexschopbarteld
Members-
Posts
53 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
alexschopbarteld's Achievements

Stone Miner (3/8)
0
Reputation
-
If you would help me out, would be great.
-
While trying to play my mod on a server i got the crash report above, the senddata line is part of my packethandler syncing my capability data from the client to the server. public class PacketHandler { public static final SimpleNetworkWrapper NETWORK = new SimpleNetworkWrapper("superdupercoolawesomenetwork"); public PacketHandler() { NETWORK.registerMessage(CWaterDataPacketHandler.class, CWaterDataPacket.class, 0, Side.CLIENT); } } how it is registered, public class CWaterDataPacket implements IMessage{ public CWaterDataPacket() { } EntityPlayer player = WalkingDeadMod.proxy.getClientPlayer(); int blood = -1; int water = -1; int bleeding = 0; int infected = 0; public CWaterDataPacket(int water, int blood, int bleeding, int infected) { this.water = water; this.blood = blood; this.bleeding = bleeding; this.infected = infected; } @Override public void fromBytes(ByteBuf buf) { water = buf.readInt(); blood = buf.readInt(); bleeding = buf.readInt(); infected = buf.readInt(); } @Override public void toBytes(ByteBuf buf) { buf.writeInt(water); buf.writeInt(blood); buf.writeInt(bleeding); buf.writeInt(infected); } public static class CWaterDataPacketHandler implements IMessageHandler<CWaterDataPacket, IMessage>{ @Override public IMessage onMessage(CWaterDataPacket message, MessageContext ctx) { Minecraft.getMinecraft().addScheduledTask( () -> { EntityPlayer player = WalkingDeadMod.proxy.getClientPlayer(); if(player != null) { WaterData.get((EntityPlayer)player).setBlood(message.blood); WaterData.get((EntityPlayer)player).setWater(message.water); WaterData.get((EntityPlayer)player).setinfected(message.infected); WaterData.get((EntityPlayer)player).setbleeding(message.bleeding); } }); return null; } } } the imessage class How i send it: PacketHandler.NETWORK.sendTo(new CWaterDataPacket( WaterData.get(event.player).getWater(), WaterData.get(event.player).getBlood(), WaterData.get(event.player).getbleeding(), WaterData.get(event.player).getinfected()), (EntityPlayerMP)event.player);
-
Modpack is now live on Technic launcher, come check it out! M1C1-apocalyps
-
Dear minecrafters, its finally time for me to write this, i am so hyped to tell you that the first release of M1C1 is coming on sunday the 23th of july. M1C1 is a modpack based on the popular tv show the walking dead combined with the game H1Z1. On the sunday mentioned above the building of the official server will start but also the alpha fase of the modpack will start, the first few weeks updates will roll out including new items that are key for the main multiplayer release such as guns, ect. The modpack is going to have key gameplay based around looting items from the official map, avoiding or killing zombies, and the main threat is other players. The first update is going to include: 7 new zombie types: Crawlers, Runners, Anatomy class, Medicals, Civilians, Police and doctor zombies with a combined total of over 40 skins.. 4 new status effects: Thirst, Bleeding, Infected, broken leg. Bar holding your current blood & water level. A Gui overlay holding these effects. 19 new melee weapons, 3 of these are throwable. 8 medical items. 19 utility items. 15 food items. 10 drinking items. 7 loot blocks & spawners. 13 new types of armor most of which have custom models. 3 new creative tabs. Next updates are going to include: Base building mechanics lots of guns. more common bad items (balancing). cars (on our idea list but not for sure going to be added due to balancing lagg ect.) To help us out, share this thread, upvote it and reply with any ideas you have, also if you want to help out building: discord.gg/5czJTY6
-
I tried to create a custom inventory inside an item, it gave this crash: container: gui: iiventoryclass slot: item: proxy:
-
I am trying to make a custom inventory, when opening the gui i get this error: https://pastebin.com/KD08u0CM container: https://pastebin.com/6Tt3afqA Gui: https://pastebin.com/qm7mcJ0j InventoryMethods: https://pastebin.com/XK15JM0i Item: https://pastebin.com/MvT4tCbc Registered on common proxy like: https://pastebin.com/V91QcycP
-
Hello everybody, i made a button in the main menu which will connect you to an official server when my modpack is released. The button works (i had a sysoutprint with some text when you clicked it) the only thing left for me to do is add the functionality that the player gets connected to the server. I digged through the vanilla code and found this method: net.minecraftforge.fml.client.FMLClientHandler.instance().connectToServer(GUI, new ServerData(stringName, stringIP, boolIsLan)); i dont know if this is the correct one, i tried to use it like this: net.minecraftforge.fml.client.FMLClientHandler.instance().connectToServer(event.getGui(), new ServerData("server1", "192.168.2.1:25565", false)); but that didnt do anything(didnt make it crash either). Do i have the correct method, if i dont which one should i be using. If i have the correct method what am i doing wrong? Thank you for your time, Alex Schopbarteld
-
https://gyazo.com/f06e8c438da18ecb784d7f9a3b5c2c6b
-
funny that this doenst use new resourcelocation, it fixed the texture issue but it still looks messed up.
-
How it is supposed to look: https://gyazo.com/f18f503fe76722d5f287d7c8426fded3 how it looks : https://gyazo.com/d6fc59f52a90ad7edd63092ae0657548 Well, let me explain what is the problem if you cant read it from the pictures, i am trying to make a 3d armor model with a texture, the texture is not loading, and the armor is loading twice (one with a wrong offset), the one with the wrong offset is animated but the one that is correctly placed isnt. common proxy: package com.walkingdead.walkingdeadmod; import com.walkingdead.walkingdeadmod.armor.model.MilitairycamoArmor; import com.walkingdead.walkingdeadmod.eventhandlers.RenderGuiHandler; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.blood.Blood; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.blood.BloodStorage; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.blood.Bloodlevel; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.blood.CapabilityHandler; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.water.Water; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.water.WaterCapabilityHandler; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.water.WaterStorage; import com.walkingdead.walkingdeadmod.eventhandlers.playerdata.water.Waterlevel; import net.minecraft.client.model.ModelBiped; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.capabilities.CapabilityManager; public class CommonProxyTestEnvironmentMod { private static final MilitairycamoArmor CamoArmorChest2 = new MilitairycamoArmor(1.0F); private static final MilitairycamoArmor CamoArmor = new MilitairycamoArmor(0.5F); public ModelBiped getArmorModel(int id) { return null; } public void registerRenderers(WalkingDeadMod ins) { } public void Eventstartup() { MinecraftForge.EVENT_BUS.register(new RenderGuiHandler()); MinecraftForge.EVENT_BUS.register(new CapabilityHandler()); MinecraftForge.EVENT_BUS.register(new WaterCapabilityHandler()); CapabilityManager.INSTANCE.register(Bloodlevel.class, new BloodStorage(), Blood.class); CapabilityManager.INSTANCE.register(Waterlevel.class, new WaterStorage(), Water.class); } } client proxy: package com.walkingdead.walkingdeadmod; import com.walkingdead.walkingdeadmod.armor.ModArmor; import com.walkingdead.walkingdeadmod.armor.armor.CamoArmor; import com.walkingdead.walkingdeadmod.armor.model.MilitairycamoArmor; import com.walkingdead.walkingdeadmod.blocks.ModBlocks; import com.walkingdead.walkingdeadmod.food.ModFood; import com.walkingdead.walkingdeadmod.items.ModItems; import com.walkingdead.walkingdeadmod.weapons.ModTools; import com.walkingdead.walkingdeadmod.weapons.projectiles.EntityHardenedSharpStick; import com.walkingdead.walkingdeadmod.weapons.projectiles.EntitySharpStick; import com.walkingdead.walkingdeadmod.weapons.projectiles.EntityStick; import com.walkingdead.walkingdeadmod.weapons.projectiles.renderers.RenderHardenedSharpStick; import com.walkingdead.walkingdeadmod.weapons.projectiles.renderers.RenderSharpStick; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelBiped; import net.minecraftforge.client.model.obj.OBJLoader; import net.minecraftforge.fml.client.registry.RenderingRegistry; public class ClientProxyTestEnvironmentMod extends CommonProxyTestEnvironmentMod { @Override public void registerRenderers(WalkingDeadMod ins) { OBJLoader.INSTANCE.addDomain(WalkingDeadMod.MODID); //mobs ins.Crawler.registerRenderers(); ins.Runner.registerRenderers(); ins.Anatomy.registerRenderers(); ins.Medical.registerRenderers(); ins.civ1.registerRenderers(); ins.Police1.registerRenderers(); ins.doctor.registerRenderers(); //tools ModTools.registerRenders(); //items ModItems.registerRenders(); //blocks ModBlocks.registerRenders(); ModArmor.registerRenders(); //food ModFood.registerRenders(); //projectiles RenderingRegistry.registerEntityRenderingHandler(EntitySharpStick.class, new RenderSharpStick(Minecraft.getMinecraft().getRenderManager(), ModTools.sharpstick, Minecraft.getMinecraft().getRenderItem())); RenderingRegistry.registerEntityRenderingHandler(EntityStick.class, new RenderSharpStick(Minecraft.getMinecraft().getRenderManager(), ModTools.stick, Minecraft.getMinecraft().getRenderItem())); RenderingRegistry.registerEntityRenderingHandler(EntityHardenedSharpStick.class, new RenderHardenedSharpStick(Minecraft.getMinecraft().getRenderManager(), ModTools.hardenedsharpstick, Minecraft.getMinecraft().getRenderItem())); } private static final MilitairycamoArmor CamoArmorChest = new MilitairycamoArmor(1.0F); private static final MilitairycamoArmor CamoArmor = new MilitairycamoArmor(0.5F); public ModelBiped getArmorModel(int id) { switch (id) { case 0: return CamoArmorChest; case 1: return CamoArmor; } return null; } } model: package com.walkingdead.walkingdeadmod.armor.model; import net.minecraft.client.model.ModelBiped; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class MilitairycamoArmor extends ModelBiped { //fields private ModelRenderer pocketright; private ModelRenderer helmetband; private ModelRenderer pocketleft; private ModelRenderer helmet1; private ModelRenderer body; private ModelRenderer rightarm; private ModelRenderer leftarm; private ModelRenderer rightleg; private ModelRenderer leftleg; private ModelRenderer helmet2; private ModelRenderer helmet3; private ModelRenderer helmet4; private ModelRenderer helmet5; private ModelRenderer kneecapright; private ModelRenderer kneecapleft; private ModelRenderer bodyarmorbottom; private ModelRenderer bodyarmortop; private ModelRenderer helmet6; public MilitairycamoArmor(float scale) { super(scale, 0, 0, 0); textureWidth = 128; textureHeight = 128; pocketright = new ModelRenderer(this, 0, 123); pocketright.addBox(0F, 0F, 0F, 2, 3, 2); pocketright.setRotationPoint(-1F, 1.5F, -4F); pocketright.setTextureSize(128, 128); pocketright.mirror = true; setRotation(pocketright, 0F, 0F, 0F); helmetband = new ModelRenderer(this, 92, 0); helmetband.addBox(0F, 0F, 0F, 9, 1, 9); helmetband.setRotationPoint(-4.5F, 0F, -4.3F); helmetband.setTextureSize(128, 128); helmetband.mirror = true; setRotation(helmetband, 0.8266561F, 0F, 0F); pocketleft = new ModelRenderer(this, 0, 123); pocketleft.addBox(0F, 0F, 0F, 2, 3, 2); pocketleft.setRotationPoint(1.5F, 1.5F, -4F); pocketleft.setTextureSize(128, 128); pocketleft.mirror = true; setRotation(pocketleft, 0F, 0F, 0F); helmet1 = new ModelRenderer(this, 0, 56); helmet1.addBox(0F, 0F, 0F, 10, 3, 10); helmet1.setRotationPoint(-5F, -9F, -5F); helmet1.setTextureSize(128, 128); helmet1.mirror = true; setRotation(helmet1, 0F, 0F, 0F); body = new ModelRenderer(this, 100, 16); body.addBox(-4F, 0F, -2F, 8, 12, 6); body.setRotationPoint(0F, 0F, -1F); body.setTextureSize(128, 128); body.mirror = true; setRotation(body, 0F, 0F, 0F); rightarm = new ModelRenderer(this, 40, 16); rightarm.addBox(-3F, -2F, -2F, 5, 13, 5); rightarm.setRotationPoint(-6F, 1.533333F, -0.5F); rightarm.setTextureSize(128, 128); rightarm.mirror = true; setRotation(rightarm, 0F, 0F, 0F); leftarm = new ModelRenderer(this, 40, 16); leftarm.addBox(-1F, -2F, -2F, 5, 13, 5); leftarm.setRotationPoint(5F, 2F, -0.5F); leftarm.setTextureSize(128, 128); leftarm.mirror = true; setRotation(leftarm, 0F, 0F, 0F); rightleg = new ModelRenderer(this, 0, 16); rightleg.addBox(-2F, 0F, -2F, 5, 12, 5); rightleg.setRotationPoint(-3F, 12F, -0.5F); rightleg.setTextureSize(128, 128); rightleg.mirror = true; setRotation(rightleg, 0F, 0F, 0F); leftleg = new ModelRenderer(this, 0, 16); leftleg.addBox(-2F, 0F, -2F, 5, 12, 5); leftleg.setRotationPoint(2F, 12F, -0.5F); leftleg.setTextureSize(128, 128); leftleg.mirror = true; setRotation(leftleg, 0F, 0F, 0F); helmet2 = new ModelRenderer(this, 0, 70); helmet2.addBox(0F, 0F, 0F, 10, 1, 6); helmet2.setRotationPoint(-5F, -6F, -1F); helmet2.setTextureSize(128, 128); helmet2.mirror = true; setRotation(helmet2, 0F, 0F, 0F); helmet3 = new ModelRenderer(this, 0, 49); helmet3.addBox(0F, 0F, 0F, 10, 1, 5); helmet3.setRotationPoint(-5F, -5F, 0F); helmet3.setTextureSize(128, 128); helmet3.mirror = true; setRotation(helmet3, 0F, 0F, 0F); helmet4 = new ModelRenderer(this, 0, 43); helmet4.addBox(0F, 0F, 0F, 10, 1, 4); helmet4.setRotationPoint(-5F, -4F, 1F); helmet4.setTextureSize(128, 128); helmet4.mirror = true; setRotation(helmet4, 0F, 0F, 0F); helmet5 = new ModelRenderer(this, 0, 38); helmet5.addBox(0F, 0F, 0F, 10, 1, 3); helmet5.setRotationPoint(-5F, -3F, 2F); helmet5.setTextureSize(128, 128); helmet5.mirror = true; setRotation(helmet5, 0F, 0F, 0F); kneecapright = new ModelRenderer(this, 47, 0); kneecapright.addBox(0F, 0F, 0F, 2, 4, 1); kneecapright.setRotationPoint(-3.5F, 16F, -3F); kneecapright.setTextureSize(128, 128); kneecapright.mirror = true; setRotation(kneecapright, 0F, 0F, 0F); kneecapleft = new ModelRenderer(this, 47, 0); kneecapleft.addBox(0F, 0F, 0F, 2, 4, 1); kneecapleft.setRotationPoint(1.5F, 16F, -3F); kneecapleft.setTextureSize(128, 128); kneecapleft.mirror = true; setRotation(kneecapleft, 0F, 0F, 0F); bodyarmorbottom = new ModelRenderer(this, 61, 42); bodyarmorbottom.addBox(0F, 0F, 0F, 6, 1, 6); bodyarmorbottom.setRotationPoint(-3F, 12F, -3F); bodyarmorbottom.setTextureSize(128, 128); bodyarmorbottom.mirror = true; setRotation(bodyarmorbottom, 0F, 0F, 0F); bodyarmortop = new ModelRenderer(this, 51, 58); bodyarmortop.addBox(0F, 0F, 0F, 6, 8, 7); bodyarmortop.setRotationPoint(-3F, 2F, -3.5F); bodyarmortop.setTextureSize(128, 128); bodyarmortop.mirror = true; setRotation(bodyarmortop, 0F, 0F, 0F); helmet6 = new ModelRenderer(this, 0, 80); helmet6.addBox(0F, 0F, 0F, 10, 2, 1); helmet6.setRotationPoint(-5F, -2F, 4F); helmet6.setTextureSize(128, 128); helmet6.mirror = true; setRotation(helmet6, 0F, 0F, 0F); bipedBody.addChild(pocketright); bipedHead.addChild(helmetband); bipedBody.addChild(pocketleft); bipedHead.addChild(helmet1); bipedBody.addChild(body); bipedRightArm.addChild(rightarm); bipedLeftArm.addChild(leftarm); bipedRightLeg.addChild(rightleg); bipedLeftLeg.addChild(leftleg); bipedHead.addChild(helmet2); bipedHead.addChild(helmet3); bipedHead.addChild(helmet4); bipedHead.addChild(helmet5); bipedHead.addChild(helmet6); bipedLeftLeg.addChild(kneecapleft); bipedRightLeg.addChild(kneecapright); bipedBody.addChild(bodyarmorbottom); bipedBody.addChild(bodyarmortop); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); pocketright.render(f5); helmetband.render(f5); pocketleft.render(f5); helmet1.render(f5); body.render(f5); rightarm.render(f5); leftarm.render(f5); rightleg.render(f5); leftleg.render(f5); helmet2.render(f5); helmet3.render(f5); helmet4.render(f5); helmet5.render(f5); kneecapright.render(f5); kneecapleft.render(f5); bodyarmorbottom.render(f5); bodyarmortop.render(f5); helmet6.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } } armor.class: package com.walkingdead.walkingdeadmod.armor.armor; import com.walkingdead.walkingdeadmod.WalkingDeadMod; import net.minecraft.client.model.ModelBiped; import net.minecraft.entity.EntityLivingBase; import net.minecraft.inventory.EntityEquipmentSlot; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class CamoArmor extends ItemArmor{ public CamoArmor(ArmorMaterial materialIn, int renderIndexIn, EntityEquipmentSlot equipmentSlotIn, String unlocalizedName) { super(materialIn, renderIndexIn, equipmentSlotIn); this.setUnlocalizedName(unlocalizedName); this.setCreativeTab(WalkingDeadMod.WalkingDead); this.setRegistryName(new ResourceLocation(WalkingDeadMod.MODID, unlocalizedName)); } @Override @SideOnly(Side.CLIENT) public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, EntityEquipmentSlot armorSlot, ModelBiped defaultModel) { if (itemStack != null) { if (itemStack.getItem() instanceof ItemArmor) { EntityEquipmentSlot type = ((ItemArmor) itemStack.getItem()).armorType; ModelBiped armorModel = null; switch (type) { case HEAD: case LEGS: armorModel = WalkingDeadMod.proxy.getArmorModel(0); break; case FEET: case CHEST: armorModel = WalkingDeadMod.proxy.getArmorModel(1); break; default: break; } armorModel.bipedHead.showModel = armorSlot == EntityEquipmentSlot.HEAD; armorModel.bipedHeadwear.showModel = armorSlot == EntityEquipmentSlot.HEAD; armorModel.bipedBody.showModel = (armorSlot == EntityEquipmentSlot.CHEST) || (armorSlot == EntityEquipmentSlot.CHEST); armorModel.bipedRightArm.showModel = armorSlot == EntityEquipmentSlot.CHEST; armorModel.bipedLeftArm.showModel = armorSlot == EntityEquipmentSlot.CHEST; armorModel.bipedRightLeg.showModel = (armorSlot == EntityEquipmentSlot.LEGS) || (armorSlot == EntityEquipmentSlot.FEET); armorModel.bipedLeftLeg.showModel = (armorSlot == EntityEquipmentSlot.LEGS) || (armorSlot == EntityEquipmentSlot.FEET); armorModel.isSneak = defaultModel.isSneak; armorModel.isRiding = defaultModel.isRiding; armorModel.isChild = defaultModel.isChild; armorModel.rightArmPose = defaultModel.rightArmPose; armorModel.leftArmPose = defaultModel.leftArmPose; return armorModel; } } return null; } } armor registry:
-
I just made a json model of a 2x3x3 block, i tought you could do this becouse making it 1.5 blocks tall worked, i get this error: i know that it errors becouse the model is to big, is there a way to make it work with a bigger model? package com.walkingdead.walkingdeadmod.blocks.lootblocks; import java.util.ArrayList; import java.util.List; import com.walkingdead.walkingdeadmod.WalkingDeadMod; import com.walkingdead.walkingdeadmod.weapons.ModTools; import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.item.ItemStack; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; public class Airdrop extends Block { public Airdrop(Material material, String name) { super(material); this.setUnlocalizedName(name); this.setCreativeTab(WalkingDeadMod.WalkingDead); this.setHardness(10F); this.setResistance(1000F); this.setSoundType(SoundType.GROUND); this.setBlockUnbreakable(); } public boolean isFullCube(IBlockState state) { return false; } public boolean isOpaqueCube(IBlockState state) { return false; } } modclass
-
Hey, i am making a loot block that on right click gets removed and spawns a random item with a probability. this is what i have so far: @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) { EntityItem item = new EntityItem(worldIn, pos.getX(), pos.getY(), pos.getZ(), new ItemStack(ModTools.hardenedsharpstick, 1)); worldIn.spawnEntity(item); worldIn.destroyBlock(pos, false); return true; } } i want to replace the modtools.hardenedsharpstick with a random item from a list, i tried to make a arraylist but i dont know how to make this for items.
-
Changing projectile direction facing.
alexschopbarteld replied to alexschopbarteld's topic in Modder Support
Have been working on this for the past 2 hours, cant figure it out, can you help me pls? -
Hey, i just made a projectile (based on the snowball, it has the same mechanics) now if i throw it it always faces north (even if i throw it west) since i have setrotation with just 0F ect. what i want is that if the projectile is flying north it actually points north. all the code: item: package com.walkingdead.walkingdeadmod.weapons; import com.walkingdead.walkingdeadmod.WalkingDeadMod; import com.walkingdead.walkingdeadmod.weapons.projectiles.BaseModItem; import com.walkingdead.walkingdeadmod.weapons.projectiles.EntitySharpStick; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.SoundEvents; import net.minecraft.item.ItemStack; import net.minecraft.stats.StatList; import net.minecraft.util.ActionResult; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumHand; import net.minecraft.util.SoundCategory; import net.minecraft.world.World; public class SharpStick extends BaseModItem{ public SharpStick(ToolMaterial material, String unlocalizedName) { super(material, unlocalizedName); setMaxStackSize(1); setCreativeTab(WalkingDeadMod.WalkingDead); } public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) { ItemStack itemstack = playerIn.getHeldItem(handIn); if (!playerIn.capabilities.isCreativeMode) { itemstack.shrink(1); } worldIn.playSound((EntityPlayer)null, playerIn.posX, playerIn.posY, playerIn.posZ, SoundEvents.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F)); if (!worldIn.isRemote) { EntitySharpStick entitysharpstick = new EntitySharpStick(worldIn, playerIn); entitysharpstick.setHeadingFromThrower(playerIn, playerIn.rotationPitch, playerIn.rotationYaw, 0.0F, 1.5F, 1.0F); worldIn.spawnEntity(entitysharpstick); } playerIn.addStat(StatList.getObjectUseStats(this)); return new ActionResult(EnumActionResult.SUCCESS, itemstack); } } Client proxy: package com.walkingdead.walkingdeadmod; import com.walkingdead.walkingdeadmod.weapons.ModTools; import com.walkingdead.walkingdeadmod.weapons.projectiles.EntitySharpStick; import com.walkingdead.walkingdeadmod.weapons.projectiles.RenderSharpStick; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.client.registry.RenderingRegistry; public class ClientProxyTestEnvironmentMod extends CommonProxyTestEnvironmentMod { @Override public void registerRenderers(WalkingDeadMod ins) { ins.Crawler.registerRenderers(); ins.Runner.registerRenderers(); ins.Anatomy.registerRenderers(); ins.Medical.registerRenderers(); ins.civ1.registerRenderers(); ins.Police1.registerRenderers(); ins.doctor.registerRenderers(); ModTools.registerRenders(); RenderingRegistry.registerEntityRenderingHandler(EntitySharpStick.class, new RenderSharpStick(Minecraft.getMinecraft().getRenderManager(), ModTools.sharpstick, Minecraft.getMinecraft().getRenderItem())); } } actual entity: package com.walkingdead.walkingdeadmod.weapons.projectiles; import com.walkingdead.walkingdeadmod.weapons.ModTools; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.monster.EntityBlaze; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.datafix.DataFixer; import net.minecraft.util.math.RayTraceResult; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class EntitySharpStick extends EntityThrowable { public EntitySharpStick(World worldIn) { super(worldIn); } public EntitySharpStick(World worldIn, EntityLivingBase throwerIn) { super(worldIn, throwerIn); } public EntitySharpStick(World worldIn, double x, double y, double z) { super(worldIn, x, y, z); } public static void registerFixesSharpStick(DataFixer fixer) { EntityThrowable.registerFixesThrowable(fixer, "SharpStick"); } protected void onImpact(RayTraceResult result) { if (result.entityHit != null) { int i = 6; result.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), (float)i); } if (!this.world.isRemote) { this.world.setEntityState(this, (byte)3); this.setDead(); EntityItem item = new EntityItem(this.world, this.lastTickPosX, this.lastTickPosY, this.lastTickPosZ, new ItemStack(ModTools.sharpstick, 1)); this.world.spawnEntity(item); } } } model: package com.walkingdead.walkingdeadmod.weapons.projectiles; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; public class ModelSharpStick extends ModelBase { ModelRenderer Shape1; public ModelSharpStick() { textureWidth = 64; textureHeight = 64; Shape1 = new ModelRenderer(this, 0, 0); Shape1.addBox(-0.5F, -0.5F, 0F, 1, 1, 25); Shape1.setRotationPoint(0F, 0F, 0F); Shape1.setTextureSize(64, 64); Shape1.mirror = true; setRotation(Shape1, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); Shape1.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) { model.rotateAngleX = x; model.rotateAngleY = y; model.rotateAngleZ = z; } public void setRotationAngles(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); } } renderer: package com.walkingdead.walkingdeadmod.weapons.projectiles; import org.lwjgl.opengl.GL11; import com.walkingdead.walkingdeadmod.WalkingDeadMod; import com.walkingdead.walkingdeadmod.weapons.SharpStick; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.entity.Entity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderSharpStick<T extends Entity> extends Render<T> { protected final Item item; private final RenderItem itemRenderer; private static final ResourceLocation texture = new ResourceLocation(WalkingDeadMod.MODID, "textures/entities/projectiles/sharpstick.png"); private ModelBase model; public RenderSharpStick(RenderManager renderManagerIn, Item itemIn, RenderItem itemRendererIn) { super(renderManagerIn); model = new ModelSharpStick(); this.item = itemIn; this.itemRenderer = itemRendererIn; } public void doRender(T entity, double x, double y, double z, float entityYaw, float partialTicks) { GL11.glPushMatrix(); bindTexture(texture); GL11.glTranslated(x, y, z); model.render(entity, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); GL11.glPopMatrix(); } public ItemStack getStackToRender(T entityIn) { return new ItemStack(this.item); } private ResourceLocation getCustomTexture(EntitySharpStick entity) { return texture; } protected ResourceLocation getEntityTexture(Entity entity) { return getCustomTexture((EntitySharpStick) entity); } }
-
i am trying to make my spear and sharp sticks throwable, i made my own sharpstick entity and now i am trying to register it, EntityRegistry.registerModEntity("SharpStick", EntitySharpStick.class, "SharpStick", WalkingDeadMod.MODID, WalkingDeadMod.instance, 64, 10, true); i am following a tutorial and i dont know what i am doing wrong.