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.

TheTrueSCP

Members
  • Joined

  • Last visited

Everything posted by TheTrueSCP

  1. ok thanks, here is the github link: https://github.com/TheTrueSCP/Lootbugs_Minecraft_Mod
  2. but i could save the files as a folder in google drive
  3. Unfortunately this is not possible because there are too many and to big files for github
  4. I only currently have a google drive link
  5. it looks like everything is going to work. The entity is recognized whether it is in the water and if so, the function is carried out. But nothing happens or the same thing happens to everyone
  6. what do you mean by debugger? (sorry for the question, but i haven't been programming with forge for that long)
  7. Means that if the entities are created when loading a game, then the method is called
  8. but when I go to a save, these are called
  9. if I enter a system out command in the SetRotationAngles class, nothing can be seen in the log
  10. package net.thetruescp.lootbugs.client.render; import net.minecraft.client.renderer.entity.EntityRendererManager; import net.minecraft.client.renderer.entity.MobRenderer; import net.minecraft.util.ResourceLocation; import net.thetruescp.lootbugs.LootbugsMain; import net.thetruescp.lootbugs.client.model.LootbugModel; import net.thetruescp.lootbugs.entities.LootbugEntity; public class LootbugRender extends MobRenderer<LootbugEntity, LootbugModel<LootbugEntity>> { protected static final ResourceLocation TEXTURE = new ResourceLocation(LootbugsMain.MOD_ID,"textures/entity/lootbug_hannes.png"); public LootbugRender(EntityRendererManager renderManagerIn) { super(renderManagerIn, new LootbugModel<>(), 0.7f); } @Override public ResourceLocation getEntityTexture(LootbugEntity entity) { return TEXTURE; } }
  11. I have already removed the static from the isPetting and now used the is burning for the test. but still it doesn't work package net.thetruescp.lootbugs.client.model; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.client.renderer.entity.model.EntityModel; import net.minecraft.client.renderer.model.ModelRenderer; import net.thetruescp.lootbugs.entities.LootbugEntity; public class LootbugModel<T extends LootbugEntity> extends EntityModel<T> { private final ModelRenderer Leg3; private final ModelRenderer Head2; private final ModelRenderer Leg4; private final ModelRenderer Leg1; private final ModelRenderer tail3; private final ModelRenderer tail2; private final ModelRenderer head1; private final ModelRenderer tail1; private final ModelRenderer Leg2; private final ModelRenderer body; public LootbugModel() { textureWidth = 128; textureHeight = 128; Leg3 = new ModelRenderer(this); Leg3.setRotationPoint(0.0F, 22.0F, 4.0F); Leg3.setTextureOffset(68, 84).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg3.setTextureOffset(70, 44).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Head2 = new ModelRenderer(this); Head2.setRotationPoint(0.0F, 17.0F, -11.0F); Head2.setTextureOffset(58, 52).addBox(-8.0F, -7.0F, -5.0F, 16.0F, 14.0F, 10.0F, 0.0F, false); Leg4 = new ModelRenderer(this); Leg4.setRotationPoint(0.0F, 22.0F, 10.0F); Leg4.setTextureOffset(0, 86).addBox(6.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg4.setTextureOffset(52, 76).addBox(-12.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg1 = new ModelRenderer(this); Leg1.setRotationPoint(0.0F, 22.0F, -8.0F); Leg1.setTextureOffset(72, 76).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg1.setTextureOffset(54, 40).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); tail3 = new ModelRenderer(this); tail3.setRotationPoint(0.0F, 21.0F, 14.0F); tail3.setTextureOffset(68, 22).addBox(-4.0F, -3.0F, -6.0F, 8.0F, 6.0F, 12.0F, 0.0F, false); tail2 = new ModelRenderer(this); tail2.setRotationPoint(0.0F, 19.0F, 11.0F); tail2.setTextureOffset(0, 62).addBox(-6.0F, -5.0F, -7.0F, 12.0F, 10.0F, 14.0F, 0.0F, false); head1 = new ModelRenderer(this); head1.setRotationPoint(0.0F, 20.0F, -14.0F); head1.setTextureOffset(64, 0).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, 0.0F, false); tail1 = new ModelRenderer(this); tail1.setRotationPoint(0.0F, 17.0F, 5.0F); tail1.setTextureOffset(0, 34).addBox(-10.0F, -7.0F, -7.0F, 20.0F, 14.0F, 14.0F, 0.0F, false); Leg2 = new ModelRenderer(this); Leg2.setRotationPoint(0.0F, 22.0F, -2.0F); Leg2.setTextureOffset(48, 84).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg2.setTextureOffset(38, 62).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); body = new ModelRenderer(this); body.setRotationPoint(0.0F, 15.0F, -4.0F); body.setTextureOffset(0, 0).addBox(-12.0F, -9.0F, -8.0F, 24.0F, 18.0F, 16.0F, 0.0F, false); } @Override public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ Leg3.render(matrixStack, buffer, packedLight, packedOverlay); Head2.render(matrixStack, buffer, packedLight, packedOverlay); Leg4.render(matrixStack, buffer, packedLight, packedOverlay); Leg1.render(matrixStack, buffer, packedLight, packedOverlay); tail3.render(matrixStack, buffer, packedLight, packedOverlay); tail2.render(matrixStack, buffer, packedLight, packedOverlay); head1.render(matrixStack, buffer, packedLight, packedOverlay); tail1.render(matrixStack, buffer, packedLight, packedOverlay); Leg2.render(matrixStack, buffer, packedLight, packedOverlay); body.render(matrixStack, buffer, packedLight, packedOverlay); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } @Override public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { if(entityIn.isBurning()) { this.tail1.rotateAngleX = 0.45F * 0.1F * ageInTicks; this.tail2.rotateAngleX = 0.45F *0.1F * ageInTicks; this.tail3.rotateAngleX = 0.45F * 0.1F * ageInTicks; } } }
  12. my problem is, that despite the variables provided by Forge, all entities do the same thing, although I use the isBurning method
  13. sorry for writing again but I've tried a bit and although I now use the variables from Minecraft, but the same thing still happens this is the piece of code that I have rewritten: @Override public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { if(entityIn.isBurning()) { this.tail1.rotateAngleX = 0.45F * 0.1F * ageInTicks; this.tail2.rotateAngleX = 0.45F *0.1F * ageInTicks; this.tail3.rotateAngleX = 0.45F * 0.1F * ageInTicks; } }
  14. Yes,This is my EntityClass package net.thetruescp.lootbugs.entities.entities; import net.minecraft.block.BlockState; import net.minecraft.block.SoundType; import net.minecraft.entity.AgeableEntity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityType; import net.minecraft.entity.MobEntity; import net.minecraft.entity.ai.attributes.AttributeModifierMap; import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.entity.ai.goal.*; import net.minecraft.entity.monster.SpiderEntity; import net.minecraft.entity.passive.AnimalEntity; import net.minecraft.entity.passive.PigEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.crafting.Ingredient; import net.minecraft.network.datasync.DataParameter; import net.minecraft.network.datasync.DataSerializers; import net.minecraft.network.datasync.EntityDataManager; import net.minecraft.util.*; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; import net.minecraftforge.event.entity.PlaySoundAtEntityEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.Mod; import net.thetruescp.lootbugs.LootbugsMain; import net.thetruescp.lootbugs.client.Sound.ModSounds; import net.thetruescp.lootbugs.client.model.LootbugModel; import net.thetruescp.lootbugs.entities.ModEntityType; import sun.security.ssl.Debug; import javax.annotation.Nullable; public class LootbugEntity extends AnimalEntity { public static boolean isPetting = false; public static final Ingredient TEMPTATION_ITEMS = Ingredient.fromItems(Items.REDSTONE); public LootbugEntity(EntityType<? extends AnimalEntity> type, World world) { super(type, world); } //Register public static AttributeModifierMap.MutableAttribute setCustomAttributes() { return MobEntity.func_233666_p_() .createMutableAttribute(Attributes.MAX_HEALTH, 10.009) .createMutableAttribute(Attributes.MOVEMENT_SPEED, 0.25); } public ActionResultType getEntityInteractionResult(PlayerEntity playerIn, Hand hand) { boolean flag = this.isBreedingItem(playerIn.getHeldItem(hand)); if (!playerIn.isCrouching() && playerIn.getHeldItem(hand).getItem() == Items.REDSTONE) { if (!this.world.isRemote) { playerIn.startRiding(this); } return ActionResultType.func_233537_a_(this.world.isRemote); } else if(playerIn.isCrouching()) { return ActionResultType.func_233537_a_(this.world.isRemote); } else { world.playSound(playerIn.getPosX(),playerIn.getPosY(),playerIn.getPosZ(), ModSounds.LOOTBUG_REACTION.get(),SoundCategory.NEUTRAL,12,12,true); LootbugEntity.isPetting = true; System.out.println("Feed Lootubg"); return ActionResultType.func_233537_a_(this.world.isRemote); } } @Override protected void registerGoals() { super.registerGoals(); this.goalSelector.addGoal(0, new SwimGoal(this)); // this.goalSelector.addGoal(1, new PanicGoal(this, 2.250)); this.goalSelector.addGoal(2, new BreedGoal(this, 1.80)); this.goalSelector.addGoal(4, new TemptGoal(this, 1.2D, false, TEMPTATION_ITEMS)); this.goalSelector.addGoal(5, new FollowParentGoal(this, 1.1D)); this.goalSelector.addGoal(6, new WaterAvoidingRandomWalkingGoal(this, 1.0D)); this.goalSelector.addGoal(7, new LookAtGoal(this, PlayerEntity.class, 6.0F)); this.goalSelector.addGoal(8, new LookRandomlyGoal(this)); } //Riding @Nullable public Entity getControllingPassenger() { return this.getPassengers().isEmpty() ? null : this.getPassengers().get(0); } @Nullable @Override public AgeableEntity createChild(ServerWorld world, AgeableEntity mate) { return ModEntityType.LOOTBUG.get().create(this.world); } @Override protected int getExperiencePoints(PlayerEntity player) { return 1 + this.world.rand.nextInt(4); } @Nullable @Override protected SoundEvent getAmbientSound() { return ModSounds.LOOTBUG_IDLE.get(); } @Nullable @Override protected SoundEvent getDeathSound() { return ModSounds.LOOTBUG_DEATH.get(); } @Nullable @Override protected SoundEvent getHurtSound(DamageSource damageSourceIn) { return ModSounds.LOOTBUG_HURT.get(); } @Override protected void playStepSound(BlockPos pos, BlockState blockIn) { this.playSound(ModSounds.LOOTBUG_IDLE.get(), 0.30F, 1.0F); } @Override public boolean isBreedingItem(ItemStack stack) { return TEMPTATION_ITEMS.test(stack); } } and this is my ModelClass: package net.thetruescp.lootbugs.client.model; import com.mojang.blaze3d.matrix.MatrixStack; import com.mojang.blaze3d.vertex.IVertexBuilder; import net.minecraft.client.renderer.entity.model.EntityModel; import net.minecraft.client.renderer.entity.model.QuadrupedModel; import net.minecraft.client.renderer.model.ModelRenderer; import net.minecraft.util.math.MathHelper; import net.thetruescp.lootbugs.entities.entities.LootbugEntity; import javax.swing.text.html.parser.Entity; public class LootbugModel<T extends LootbugEntity> extends EntityModel<T> { private final ModelRenderer Leg3; private final ModelRenderer Head2; private final ModelRenderer Leg4; private final ModelRenderer Leg1; private final ModelRenderer tail3; private final ModelRenderer tail2; private final ModelRenderer head1; private final ModelRenderer tail1; private final ModelRenderer Leg2; private final ModelRenderer body; public LootbugModel() { textureWidth = 128; textureHeight = 128; Leg3 = new ModelRenderer(this); Leg3.setRotationPoint(0.0F, 22.0F, 4.0F); Leg3.setTextureOffset(68, 84).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg3.setTextureOffset(70, 44).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Head2 = new ModelRenderer(this); Head2.setRotationPoint(0.0F, 17.0F, -11.0F); Head2.setTextureOffset(58, 52).addBox(-8.0F, -7.0F, -5.0F, 16.0F, 14.0F, 10.0F, 0.0F, false); Leg4 = new ModelRenderer(this); Leg4.setRotationPoint(0.0F, 22.0F, 10.0F); Leg4.setTextureOffset(0, 86).addBox(6.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg4.setTextureOffset(52, 76).addBox(-12.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg1 = new ModelRenderer(this); Leg1.setRotationPoint(0.0F, 22.0F, -8.0F); Leg1.setTextureOffset(72, 76).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg1.setTextureOffset(54, 40).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); tail3 = new ModelRenderer(this); tail3.setRotationPoint(0.0F, 21.0F, 14.0F); tail3.setTextureOffset(68, 22).addBox(-4.0F, -3.0F, -6.0F, 8.0F, 6.0F, 12.0F, 0.0F, false); tail2 = new ModelRenderer(this); tail2.setRotationPoint(0.0F, 19.0F, 11.0F); tail2.setTextureOffset(0, 62).addBox(-6.0F, -5.0F, -7.0F, 12.0F, 10.0F, 14.0F, 0.0F, false); head1 = new ModelRenderer(this); head1.setRotationPoint(0.0F, 20.0F, -14.0F); head1.setTextureOffset(64, 0).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, 0.0F, false); tail1 = new ModelRenderer(this); tail1.setRotationPoint(0.0F, 17.0F, 5.0F); tail1.setTextureOffset(0, 34).addBox(-10.0F, -7.0F, -7.0F, 20.0F, 14.0F, 14.0F, 0.0F, false); Leg2 = new ModelRenderer(this); Leg2.setRotationPoint(0.0F, 22.0F, -2.0F); Leg2.setTextureOffset(48, 84).addBox(8.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); Leg2.setTextureOffset(38, 62).addBox(-14.0F, -2.0F, -2.0F, 6.0F, 4.0F, 4.0F, 0.0F, false); body = new ModelRenderer(this); body.setRotationPoint(0.0F, 15.0F, -4.0F); body.setTextureOffset(0, 0).addBox(-12.0F, -9.0F, -8.0F, 24.0F, 18.0F, 16.0F, 0.0F, false); } @Override public void render(MatrixStack matrixStack, IVertexBuilder buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha){ Leg3.render(matrixStack, buffer, packedLight, packedOverlay); Head2.render(matrixStack, buffer, packedLight, packedOverlay); Leg4.render(matrixStack, buffer, packedLight, packedOverlay); Leg1.render(matrixStack, buffer, packedLight, packedOverlay); tail3.render(matrixStack, buffer, packedLight, packedOverlay); tail2.render(matrixStack, buffer, packedLight, packedOverlay); head1.render(matrixStack, buffer, packedLight, packedOverlay); tail1.render(matrixStack, buffer, packedLight, packedOverlay); Leg2.render(matrixStack, buffer, packedLight, packedOverlay); body.render(matrixStack, buffer, packedLight, packedOverlay); } public void setRotationAngle(ModelRenderer modelRenderer, float x, float y, float z) { modelRenderer.rotateAngleX = x; modelRenderer.rotateAngleY = y; modelRenderer.rotateAngleZ = z; } @Override public void setRotationAngles(T entityIn, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { // LEGS-LEGS-LEGS-LEGS-LEGS-LEGS-LEGS-LEGS this.Leg1.rotateAngleX = MathHelper.sin(limbSwing * 0.6662F + (float)Math.PI) * 0.2F * limbSwingAmount; this.Leg1.rotateAngleY = MathHelper.sin(limbSwing * 0.6662F + (float)Math.PI) * 0.2F * limbSwingAmount; this.Leg2.rotateAngleX = MathHelper.sin(limbSwing * 0.6662F) * 0.2F * limbSwingAmount; this.Leg2.rotateAngleY = MathHelper.sin(limbSwing * 0.6662F) * 0.2F * limbSwingAmount; this.Leg3.rotateAngleX = MathHelper.sin(limbSwing * 0.6662F + (float)Math.PI) * 0.2F * limbSwingAmount; this.Leg3.rotateAngleY = MathHelper.sin(limbSwing * 0.6662F + (float)Math.PI) * 0.2F * limbSwingAmount; this.Leg4.rotateAngleX = MathHelper.sin(limbSwing * 0.6662F) * 0.2F * limbSwingAmount; this.Leg4.rotateAngleY = MathHelper.sin(limbSwing * 0.6662F) * 0.2F * limbSwingAmount; // LEGS-LEGS-LEGS-LEGS-LEGS-LEGS-LEGS-LEGS // BODY-BODY-BODY-BODY-BODY-BODY-BODY this.body.rotateAngleZ = MathHelper.sin(limbSwing * 0.6662F) * 0.1F * limbSwingAmount;// if(LootbugEntity.isPetting) { this.tail1.rotateAngleX = 0.45F * 0.1F * ageInTicks; this.tail1.rotateAngleX = -0.45F * 0.1F * ageInTicks; this.tail1.rotateAngleX = 0.45F * 0.1F * ageInTicks; this.tail2.rotateAngleX = 0.45F *0.1F * ageInTicks; this.tail2.rotateAngleX = - 0.45F *0.1F * ageInTicks; this.tail2.rotateAngleX = 0.45F *0.1F * ageInTicks; this.tail3.rotateAngleX = 0.45F * 0.1F * ageInTicks; this.tail3.rotateAngleX = -0.45F * 0.1F * ageInTicks; this.tail3.rotateAngleX = 0.45F * 0.1F * ageInTicks; LootbugEntity.isPetting = false; } } }
  15. Hi guys, i need help to the topic Variables. I have an entity and want animate them. My idea is if i Right Click my Animal should play an animation. For this I wrote a variable which is set to true with the getEntityInteractionResult() function. But if i rightclick my animal ALL my Enimals play the animation. How can i fix this?

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.