From 42d788263778df02ec37a23674b37a8b8eb43792 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 22 Oct 2023 18:17:07 +0200 Subject: [PATCH] more unfinished crap --- changelog | 4 + gradle.properties | 2 +- .../java/com/hbm/entity/EntityMappings.java | 1 + .../java/com/hbm/entity/mob/EntityPigeon.java | 23 +++ .../com/hbm/entity/mob/EntityPlasticBag.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 2 + .../hbm/render/entity/mob/RenderPigeon.java | 26 +++ .../com/hbm/render/model/ModelPigeon.java | 91 +++++++++++ .../render/tileentity/RendererObjTester.java | 153 +----------------- .../assets/hbm/textures/entity/pigeon.png | Bin 0 -> 419 bytes 11 files changed, 155 insertions(+), 151 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityPigeon.java create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderPigeon.java create mode 100644 src/main/java/com/hbm/render/model/ModelPigeon.java create mode 100644 src/main/resources/assets/hbm/textures/entity/pigeon.png diff --git a/changelog b/changelog index 1cda4a909..f42f79ddf 100644 --- a/changelog +++ b/changelog @@ -1,4 +1,8 @@ ## Added +* Plastic bag + * Rarely spawns in water with similar spawn conditions as squids + * Will slowly drift into random directions + * Can be picked up, the resulting item can be used like a backpack that stores one item ## Changed * Updated chinese localization diff --git a/gradle.properties b/gradle.properties index 069c4d1c8..1b073093f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4746 +mod_build_number=4760 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 225370ef2..4c69f8102 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -239,6 +239,7 @@ public class EntityMappings { addMob(EntityMaskMan.class, "entity_mob_mask_man", 0x818572, 0xC7C1B7); addMob(EntityDuck.class, "entity_fucc_a_ducc", 0xd0d0d0, 0xFFBF00); addMob(EntityQuackos.class, "entity_elder_one", 0xd0d0d0, 0xFFBF00); + //addMob(EntityPigeon.class, "entity_pigeon", 0xd0d0d0, 0xFFBF00); addMob(EntityFBI.class, "entity_ntm_fbi", 0x008000, 0x404040); addMob(EntityFBIDrone.class, "entity_ntm_fbi_drone", 0x008000, 0x404040); addMob(EntityRADBeast.class, "entity_ntm_radiation_blaze", 0x303030, 0x008000); diff --git a/src/main/java/com/hbm/entity/mob/EntityPigeon.java b/src/main/java/com/hbm/entity/mob/EntityPigeon.java new file mode 100644 index 000000000..af1ac41e0 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityPigeon.java @@ -0,0 +1,23 @@ +package com.hbm.entity.mob; + +import net.minecraft.entity.passive.EntityChicken; +import net.minecraft.world.World; + +public class EntityPigeon extends EntityChicken { + + public EntityPigeon(World p_i1682_1_) { + super(p_i1682_1_); + } + + protected String getLivingSound() { + return null; + } + + protected String getHurtSound() { + return null; + } + + protected String getDeathSound() { + return null; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityPlasticBag.java b/src/main/java/com/hbm/entity/mob/EntityPlasticBag.java index 1ebc591c5..0c9ecaef4 100644 --- a/src/main/java/com/hbm/entity/mob/EntityPlasticBag.java +++ b/src/main/java/com/hbm/entity/mob/EntityPlasticBag.java @@ -155,6 +155,6 @@ public class EntityPlasticBag extends EntityWaterMob { @Override public boolean getCanSpawnHere() { - return this.posY > 45.0D && this.posY < 63.0D && super.getCanSpawnHere(); + return this.posY > 45.0D && this.posY < 63.0D && this.getRNG().nextInt(10) == 0 && super.getCanSpawnHere(); } } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 1db22f6d1..417c9681b 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4746)"; + public static final String VERSION = "1.0.27 BETA (4760)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 1ec9d4a5c..f7e3d1233 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -87,6 +87,7 @@ import com.hbm.render.item.*; import com.hbm.render.item.block.*; import com.hbm.render.item.weapon.*; import com.hbm.render.loader.HmfModelLoader; +import com.hbm.render.model.ModelPigeon; import com.hbm.render.tileentity.*; import com.hbm.render.util.MissilePart; import com.hbm.render.util.RenderInfoSystem; @@ -753,6 +754,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); RenderingRegistry.registerEntityRenderingHandler(EntityFBIDrone.class, new RenderDrone()); RenderingRegistry.registerEntityRenderingHandler(EntityPlasticBag.class, new RenderPlasticBag()); + RenderingRegistry.registerEntityRenderingHandler(EntityPigeon.class, new RenderPigeon(new ModelPigeon(), 0.3F)); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); RenderingRegistry.registerEntityRenderingHandler(EntityBSmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.b_smoke1, ModItems.b_smoke2, ModItems.b_smoke3, ModItems.b_smoke4, ModItems.b_smoke5, ModItems.b_smoke6, ModItems.b_smoke7, ModItems.b_smoke8 })); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderPigeon.java b/src/main/java/com/hbm/render/entity/mob/RenderPigeon.java new file mode 100644 index 000000000..a825a0b3b --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderPigeon.java @@ -0,0 +1,26 @@ +package com.hbm.render.entity.mob; + +import com.hbm.entity.mob.EntityPigeon; +import com.hbm.lib.RefStrings; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderChicken; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderPigeon extends RenderChicken { + + public static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/entity/pigeon.png"); + + public RenderPigeon(ModelBase p_i1252_1_, float p_i1252_2_) { + super(p_i1252_1_, p_i1252_2_); + } + + protected ResourceLocation getEntityTexture(Entity entity) { + return this.getEntityTexture((EntityPigeon) entity); + } + + protected ResourceLocation getEntityTexture(EntityPigeon entity) { + return texture; + } +} diff --git a/src/main/java/com/hbm/render/model/ModelPigeon.java b/src/main/java/com/hbm/render/model/ModelPigeon.java new file mode 100644 index 000000000..0f652efa2 --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelPigeon.java @@ -0,0 +1,91 @@ +package com.hbm.render.model; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.util.MathHelper; + +public class ModelPigeon extends ModelBase { + + public ModelRenderer head; + public ModelRenderer beak; + public ModelRenderer body; + public ModelRenderer bodyFat; + public ModelRenderer leftLeg; + public ModelRenderer rightLeg; + public ModelRenderer leftWing; + public ModelRenderer rightWing; + public ModelRenderer ass; + public ModelRenderer feathers; + + public ModelPigeon() { + initModel(); + } + + private void initModel() { + + boolean fat = false; + + this.head = new ModelRenderer(this, 0, 0); + this.head.addBox(-2F, -6F, -2F, 4, 6, 4); + this.head.setRotationPoint(0F, 16F, -2F - (fat ? 2F : 0F)); + this.beak = new ModelRenderer(this, 14, 0); + this.beak.addBox(-1F, -4F, -4F, 2, 2, 2); + this.beak.setRotationPoint(0F, 16F, -2F - (fat ? 2F : 0F)); + + this.body = new ModelRenderer(this, 0, 10); + this.body.addBox(-3F, -3F, -4F, 6, 6, 8, 0); + this.body.setRotationPoint(0F, 17F, 0F); + this.bodyFat = new ModelRenderer(this, 0, 10); + this.bodyFat.addBox(-3F, -3F, -4F, 6, 6, 8, 1); + this.bodyFat.setRotationPoint(0F, 17F, 0F); + this.ass = new ModelRenderer(this, 0, 24); + this.ass.addBox(-2F, -2F, -2F, 4, 4, 4); + this.ass.setRotationPoint(0F, 20F, 4F + (fat ? 1F : 0F)); + this.feathers = new ModelRenderer(this, 16, 24); + this.feathers.addBox(-1F, -0.5F, -2F, 2, 1, 4); + this.feathers.setRotationPoint(0F, 21.5F, 7.5F + (fat ? 1F : 0F)); + + this.leftLeg = new ModelRenderer(this, 20, 0); + this.leftLeg.addBox(-1F, 0F, 0F, 2, 4, 2); + this.leftLeg.setRotationPoint(1F, 20F, -1F); + this.rightLeg = new ModelRenderer(this, 20, 0); + this.rightLeg.addBox(-1F, 0F, 0F, 2, 4, 2); + this.rightLeg.setRotationPoint(-1F, 20F, -1F); + + this.leftWing = new ModelRenderer(this, 28, 0); + this.leftWing.addBox(0F, 0F, -3F, 1, 4, 6); + this.leftWing.setRotationPoint(3F + (fat ? 1F : 0F), -2F, 0F); + this.rightWing = new ModelRenderer(this, 28, 10); + this.rightWing.addBox(-1F, 0F, -3F, 1, 4, 6); + this.rightWing.setRotationPoint(-3F - (fat ? 1F : 0F), -2F, 0F); + + this.body.addChild(this.leftWing); + this.body.addChild(this.rightWing); + this.bodyFat.addChild(this.leftWing); + this.bodyFat.addChild(this.rightWing); + } + + public void render(Entity entity, float f0, float f1, float f2, float f3, float f4, float scale) { + //this.initModel(); + this.setRotationAngles(f0, f1, f2, f3, f4, scale, entity); + this.head.render(scale); + this.beak.render(scale); + this.body.render(scale); + this.rightLeg.render(scale); + this.leftLeg.render(scale); + this.ass.render(scale); + this.feathers.render(scale); + } + + public void setRotationAngles(float walkLoop, float legAmplitude, float armSwing, float headYaw, float headPitch, float scale, Entity entity) { + this.head.rotateAngleX = this.beak.rotateAngleX = headPitch / (180F / (float) Math.PI); + this.head.rotateAngleY = this.beak.rotateAngleY = headYaw / (180F / (float) Math.PI); + this.body.rotateAngleX = this.bodyFat.rotateAngleX = this.ass.rotateAngleX = -((float) Math.PI / 4F); + this.feathers.rotateAngleX = -((float) Math.PI / 8F); + this.rightLeg.rotateAngleX = MathHelper.cos(walkLoop * 0.6662F) * 1.4F * legAmplitude; + this.leftLeg.rotateAngleX = MathHelper.cos(walkLoop * 0.6662F + (float) Math.PI) * 1.4F * legAmplitude; + this.rightWing.rotateAngleZ = armSwing; + this.leftWing.rotateAngleZ = -armSwing; + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index eabd2569a..71c074f4c 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -7,6 +7,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; import com.hbm.main.ResourceManager; +import com.hbm.render.model.ModelPigeon; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -15,6 +16,8 @@ import net.minecraft.tileentity.TileEntity; public class RendererObjTester extends TileEntitySpecialRenderer { //private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj"); + + ModelPigeon pigeon = new ModelPigeon(); @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { @@ -22,155 +25,9 @@ public class RendererObjTester extends TileEntitySpecialRenderer { GL11.glTranslated(x + 0.5, y, z + 0.5); GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); - - /*GL11.glTranslated(0, 0, 0.75); - this.bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png")); - HorsePronter.reset(); - //HorsePronter.pose(HorsePronter.id_lfl, 0, System.currentTimeMillis() % 360 / 10D, 0); - double r = 60; - HorsePronter.pose(HorsePronter.id_body, 0, -r, 0); - HorsePronter.pose(HorsePronter.id_tail, 0, 45, 90); - HorsePronter.pose(HorsePronter.id_lbl, 0, -90 + r, 35); - HorsePronter.pose(HorsePronter.id_rbl, 0, -90 + r, -35); - HorsePronter.pose(HorsePronter.id_lfl, 0, r - 10, 5); - HorsePronter.pose(HorsePronter.id_rfl, 0, r - 10, -5); - HorsePronter.pose(HorsePronter.id_head, 0, r, 0); - HorsePronter.enableHorn(); - HorsePronter.enableWings(); - HorsePronter.pront(); - ItemStack stack = new ItemStack(ModItems.cigarette); - double scale = 0.25; - GL11.glTranslated(0.02, 1.13, -0.42); - GL11.glScaled(scale, scale, scale); - GL11.glRotated(90, 0, -1, 0); - GL11.glRotated(60, 0, 0, -1); - bindTexture(TextureMap.locationItemsTexture); - IIcon icon = stack.getIconIndex(); - float f14 = icon.getMinU(); - float f15 = icon.getMaxU(); - float f4 = icon.getMinV(); - float f5 = icon.getMaxV(); - ItemRenderer.renderItemIn2D(Tessellator.instance, f15, f4, f14, f5, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);*/ - - double speed = 100D; - double chewing = 200D; - double cy0 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2)); - double cy1 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI * 0.5); - double cy2 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI); - double cy3 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI * 0.75); - - double cy4 = Math.sin(System.currentTimeMillis() / chewing % (Math.PI * 2)); - double cy5 = Math.sin(System.currentTimeMillis() / chewing % (Math.PI * 2) - Math.PI * 0.5); - - this.bindTexture(ResourceManager.glyphid_tex); - ResourceManager.glyphid.renderPart("Body"); - ResourceManager.glyphid.renderPart("ArmorFront"); - ResourceManager.glyphid.renderPart("ArmorLeft"); - ResourceManager.glyphid.renderPart("ArmorRight"); - - /// LEFT ARM /// - GL11.glPushMatrix(); - GL11.glTranslated(0.25, 0.625, 0.0625); - GL11.glRotated(10, 0, 1, 0); - GL11.glRotated(35 + cy1 * 20, 1, 0, 0); - GL11.glTranslated(-0.25, -0.625, -0.0625); - ResourceManager.glyphid.renderPart("ArmLeftUpper"); - GL11.glTranslated(0.25, 0.625, 0.4375); - GL11.glRotated(-75 - cy1 * 20 + cy0 * 20, 1, 0, 0); - GL11.glTranslated(-0.25, -0.625, -0.4375); - ResourceManager.glyphid.renderPart("ArmLeftMid"); - GL11.glTranslated(0.25, 0.625, 0.9375); - GL11.glRotated(90 - cy0 * 45, 1, 0, 0); - GL11.glTranslated(-0.25, -0.625, -0.9375); - ResourceManager.glyphid.renderPart("ArmLeftLower"); - ResourceManager.glyphid.renderPart("ArmLeftArmor"); - GL11.glPopMatrix(); - - /// RIGHT ARM /// - GL11.glPushMatrix(); - GL11.glTranslated(-0.25, 0.625, 0.0625); - GL11.glRotated(-10, 0, 1, 0); - GL11.glRotated(35 + cy2 * 20, 1, 0, 0); - GL11.glTranslated(0.25, -0.625, -0.0625); - ResourceManager.glyphid.renderPart("ArmRightUpper"); - GL11.glTranslated(-0.25, 0.625, 0.4375); - GL11.glRotated(-75 - cy2 * 20 + cy3 * 20, 1, 0, 0); - GL11.glTranslated(0.25, -0.625, -0.4375); - ResourceManager.glyphid.renderPart("ArmRightMid"); - GL11.glTranslated(-0.25, 0.625, 0.9375); - GL11.glRotated(90 - cy3 * 45, 1, 0, 0); - GL11.glTranslated(0.25, -0.625, -0.9375); - ResourceManager.glyphid.renderPart("ArmRightLower"); - ResourceManager.glyphid.renderPart("ArmRightArmor"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - - GL11.glTranslated(0, 0.5, 0.25); - GL11.glRotated(cy5 * 15 + 15, 0, 0, 1); - GL11.glTranslated(0, -0.5, -0.25); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.5, 0.25); - GL11.glRotated(-7.5 - cy4 * 7.5, 1, 0, 0); - GL11.glTranslated(0, -0.5, -0.25); - ResourceManager.glyphid.renderPart("JawTop"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.5, 0.25); - GL11.glRotated(7.5 + cy4 * 7.5, 0, 1, 0); - GL11.glRotated(7.5 + cy4 * 7.5, 1, 0, 0); - GL11.glTranslated(0, -0.5, -0.25); - ResourceManager.glyphid.renderPart("JawLeft"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.5, 0.25); - GL11.glRotated(-7.5 - cy4 * 7.5, 0, 1, 0); - GL11.glRotated(7.5 + cy4 * 7.5, 1, 0, 0); - GL11.glTranslated(0, -0.5, -0.25); - ResourceManager.glyphid.renderPart("JawRight"); - GL11.glPopMatrix(); - GL11.glPopMatrix(); - - double steppy = 15; - double bend = 60; - - for(int i = 0; i < 3; i++) { - - double c0 = cy0 * (i == 1 ? -1 : 1); - double c1 = cy1 * (i == 1 ? -1 : 1); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.25, 0); - GL11.glRotated(i * 30 - 15 + c0 * 7.5, 0, 1, 0); - GL11.glRotated(steppy + c1 * steppy, 0, 0, 1); - GL11.glTranslated(0, -0.25, 0); - ResourceManager.glyphid.renderPart("LegLeftUpper"); - GL11.glTranslated(0.5625, 0.25, 0); - GL11.glRotated(-bend - c1 * steppy, 0, 0, 1); - GL11.glTranslated(-0.5625, -0.25, 0); - ResourceManager.glyphid.renderPart("LegLeftLower"); - GL11.glPopMatrix(); - - GL11.glPushMatrix(); - GL11.glTranslated(0, 0.25, 0); - GL11.glRotated(i * 30 - 45 + c0 * 7.5, 0, 1, 0); - GL11.glRotated(-steppy + c1 * steppy, 0, 0, 1); - GL11.glTranslated(0, -0.25, 0); - ResourceManager.glyphid.renderPart("LegRightUpper"); - GL11.glTranslated(-0.5625, 0.25, 0); - GL11.glRotated(bend - c1 * steppy, 0, 0, 1); - GL11.glTranslated(0.5625, -0.25, 0); - ResourceManager.glyphid.renderPart("LegRightLower"); - GL11.glPopMatrix(); - } - - this.bindTexture(ResourceManager.universal); - GL11.glScaled(0.05, 0.05, 0.05); - ResourceManager.sphere_uv.renderAll(); + bindTexture(ResourceManager.universal); + pigeon.render(null, 0, 0, 0, 0, 0, 0.0625F); GL11.glPopMatrix(); } diff --git a/src/main/resources/assets/hbm/textures/entity/pigeon.png b/src/main/resources/assets/hbm/textures/entity/pigeon.png new file mode 100644 index 0000000000000000000000000000000000000000..b13a2ea56a9f0861cbf3acb4577b0cdbcfa48068 GIT binary patch literal 419 zcmV;U0bKrxP)q~sGELu!vO$0r;L|<@eghZ)Xy3YV^e*sfo<6#kzr@~%UA{bhieKhUG9fc61Ew@T>hI)6S}S{k zm42`N|AOKfU}iHQTmUmQz2!JVJOS%)^%LKnszdP%s0q*xKpT^~+HibVKT>@B(Oy^Q z4`6m6>`_mGSy2<99e_4!0<;6r#_YerTX8`ABp`DCO|s?ZH)EUw!^AG6wF9#7y!If6(`f&m4Ao1P&@-_ z0<;6r#%faYVV{R*c^^o;*M9TcE_zS6`5?45@fUInJMyMbyab9*z&8?CUcc=gp+*1z N002ovPDHLkV1gbnw)+48 literal 0 HcmV?d00001