oh fucc a ducc

This commit is contained in:
Bob 2020-09-05 00:00:04 +02:00
parent 1bba730882
commit 8aba04182a
19 changed files with 158 additions and 31 deletions

View File

@ -248,6 +248,7 @@ death.attack.tauBlast=%1$s lud die XVL1456 zu lange auf und wurde in Stücke ger
death.attack.teleporter=%1$s wurde ins Nichts teleportiert.
entity.entity_cyber_crab.name=Cyber-Krabbe
entity.entity_fucc_a_ducc.name=Ente
entity.entity_mob_hunter_chopper.name=Jagdschrauber
entity.entity_mob_mask_man.name=Maskenmann
entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper

View File

@ -248,6 +248,7 @@ death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into p
death.attack.teleporter=%1$s was teleported into nothingness.
entity.entity_cyber_crab.name=Cyber Crab
entity.entity_fucc_a_ducc.name=Duck
entity.entity_mob_hunter_chopper.name=Hunter Chopper
entity.entity_mob_mask_man.name=Mask Man
entity.entity_mob_nuclear_creeper.name=Nuclear Creeper

View File

@ -156,6 +156,7 @@
"entity.planeCrash": {"category": "hostile", "sounds": [{"name": "entity/planeCrash", "stream": false}]},
"entity.planeShotDown": {"category": "hostile", "sounds": [{"name": "entity/planeShotDown", "stream": false}]},
"entity.cybercrab": {"category": "hostile", "sounds": ["entity/radio_random1", "entity/radio_random2", "entity/radio_random3", "entity/radio_random4", "entity/radio_random5", "entity/radio_random6", "entity/radio_random7", "entity/radio_random8", "entity/radio_random9", "entity/radio_random10", "entity/radio_random11", "entity/radio_random12", "entity/radio_random13", "entity/radio_random14", "entity/radio_random15"]},
"entity.ducc": {"category": "neutral", "sounds": ["entity/ducc1", "entity/ducc2"]},
"potatos.random": {"category": "player", "sounds": ["potatos/randResponse0", "potatos/randResponse1", "potatos/randResponse2", "potatos/randResponse3", "potatos/randResponse4", "potatos/randResponse5", "potatos/randResponse6", "potatos/randResponse7"]},

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 422 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

@ -0,0 +1,30 @@
package com.hbm.entity.mob;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.world.World;
public class EntityDuck extends EntityChicken {
public EntityDuck(World world) {
super(world);
}
protected String getLivingSound() {
return "hbm:entity.ducc";
}
protected String getHurtSound() {
return "hbm:entity.ducc";
}
protected String getDeathSound() {
return "hbm:entity.ducc";
}
public EntityDuck createChild(EntityAgeable entity)
{
return new EntityDuck(this.worldObj);
}
}

View File

@ -1,6 +1,7 @@
package com.hbm.main;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.ModelChicken;
import net.minecraft.client.particle.EntityCloudFX;
import net.minecraft.client.particle.EntityFX;
import net.minecraft.client.particle.EntityFlameFX;
@ -439,6 +440,7 @@ public class ClientProxy extends ServerProxy {
RenderingRegistry.registerEntityRenderingHandler(EntityBallsOTronSegment.class, new RenderBalls());
RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeHead.class, new RenderWormHead());
RenderingRegistry.registerEntityRenderingHandler(EntityBOTPrimeBody.class, new RenderWormBody());
RenderingRegistry.registerEntityRenderingHandler(EntityDuck.class, new RenderDuck(new ModelChicken(), 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 }));
@ -778,5 +780,11 @@ public class ClientProxy extends ServerProxy {
public void playSound(String sound, Object data) {
}
@Override
public void displayTooltip(String msg) {
Minecraft.getMinecraft().ingameGUI.func_110326_a(msg, false);
}
}

View File

@ -576,6 +576,7 @@ public class MainRegistry {
EntityRegistry.registerGlobalEntityID(EntityTeslaCrab.class, "entity_tesla_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0x440000);
EntityRegistry.registerGlobalEntityID(EntityTaintCrab.class, "entity_taint_crab", EntityRegistry.findGlobalUniqueEntityId(), 0xAAAAAA, 0xFF00FF);
EntityRegistry.registerGlobalEntityID(EntityMaskMan.class, "entity_mob_mask_man", EntityRegistry.findGlobalUniqueEntityId(), 0x818572, 0xC7C1B7);
EntityRegistry.registerGlobalEntityID(EntityDuck.class, "entity_fucc_a_ducc", EntityRegistry.findGlobalUniqueEntityId(), 0xd0d0d0, 0xFFBF00);
// EntityRegistry.registerGlobalEntityID(EntityBOTPrimeHead.class,
// "entity_balls_o_tron_mk0", EntityRegistry.findGlobalUniqueEntityId(),

View File

@ -28,6 +28,7 @@ import com.hbm.lib.Library;
import com.hbm.lib.ModDamageSource;
import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher;
import com.hbm.packet.PlayerInformPacket;
import com.hbm.packet.RadSurveyPacket;
import com.hbm.saveddata.AuxSavedData;
import com.hbm.saveddata.RadiationSavedData;
@ -86,6 +87,9 @@ public class ModEventHandler
if(VersionChecker.newVersion) {
event.player.addChatMessage(new ChatComponentText(EnumChatFormatting.YELLOW + "New version " + VersionChecker.versionNumber + " is available!"));
}
if(event.player instanceof EntityPlayerMP && !event.player.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG).getBoolean("hasDucked"))
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket("Press O to Duck!"), (EntityPlayerMP)event.player);
}
}

View File

@ -2,6 +2,8 @@ package com.hbm.main;
import java.util.List;
import org.lwjgl.input.Keyboard;
import com.hbm.config.GeneralConfig;
import com.hbm.entity.mob.EntityHunterChopper;
import com.hbm.entity.projectile.EntityChopperMine;
@ -16,6 +18,7 @@ import com.hbm.items.ModItems;
import com.hbm.items.weapon.ItemGunBase;
import com.hbm.lib.Library;
import com.hbm.lib.RefStrings;
import com.hbm.packet.AuxButtonPacket;
import com.hbm.packet.GunButtonPacket;
import com.hbm.packet.PacketDispatcher;
import com.hbm.render.anim.HbmAnimations;
@ -127,39 +130,15 @@ public class ModEventHandlerClient {
if(time > animation.animation.getDuration())
HbmAnimations.hotbar[i] = null;
}
/*if(event.type == ElementType.CROSSHAIRS) {
if(player.ticksExisted < 200) {
if(annoyanceToken) {
FontRenderer font = Minecraft.getMinecraft().fontRenderer;
ScaledResolution resolution = event.resolution;
int pX = resolution.getScaledWidth() / 2;
int pZ = resolution.getScaledHeight() / 2;
String msg = "PLEASE";
font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ - 40, 0xffffff);
msg = "THIS IS A DEVELOPMENT VERSION";
if(player.ticksExisted > 30) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ - 20, 0xffffff);
msg = "OBVIOUSLY SOME THINGS AREN'T GOING TO WORK";
if(player.ticksExisted > 60) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ, 0xffffff);
msg = "PLEASE AT LEAST TRY TO REMEMBER THAT";
if(player.ticksExisted > 90) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ + 20, 0xffffff);
msg = "FOR THE LOVE OF GOD";
if(player.ticksExisted > 120) font.drawStringWithShadow(msg, pX - font.getStringWidth(msg) / 2, pZ + 40, 0xb00000);
}
} else {
if(annoyanceToken)
annoyanceToken = false;
}
}*/
if(!ducked && Keyboard.isKeyDown(Keyboard.KEY_O)) {
ducked = true;
PacketDispatcher.wrapper.sendToServer(new AuxButtonPacket(0, 0, 0, 999, 0));
}
}
public static boolean annoyanceToken = true;
public static boolean ducked = false;
@SubscribeEvent
public void preRenderEvent(RenderPlayerEvent.Pre event) {

View File

@ -23,4 +23,6 @@ public class ServerProxy {
public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { return null; }
public void playSound(String sound, Object data) { }
public void displayTooltip(String msg) { }
}

View File

@ -1,5 +1,6 @@
package com.hbm.packet;
import com.hbm.entity.mob.EntityDuck;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.items.weapon.ItemMissile.PartSize;
import com.hbm.tileentity.TileEntityMachineBase;
@ -22,7 +23,9 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Vec3;
public class AuxButtonPacket implements IMessage {
@ -273,6 +276,29 @@ public class AuxButtonPacket implements IMessage {
base.handleButtonPacket(m.value, m.id);
}
//why make new packets when you can just abuse and uglify the existing ones?
if(te == null && m.value == 999) {
NBTTagCompound perDat = p.getEntityData().getCompoundTag(EntityPlayer.PERSISTED_NBT_TAG);
if(!perDat.getBoolean("hasDucked")) {
EntityDuck ducc = new EntityDuck(p.worldObj);
ducc.setPosition(p.posX, p.posY + p.eyeHeight, p.posZ);
Vec3 vec = p.getLookVec();
ducc.motionX = vec.xCoord;
ducc.motionY = vec.yCoord;
ducc.motionZ = vec.zCoord;
p.worldObj.spawnEntityInWorld(ducc);
p.worldObj.playSoundAtEntity(p, "hbm:entity.ducc", 1.0F, 1.0F);
perDat.setBoolean("hasDucked", true);
p.getEntityData().setTag(EntityPlayer.PERSISTED_NBT_TAG, perDat);
}
}
//} catch (Exception x) { }
return null;

View File

@ -95,6 +95,8 @@ public class PacketDispatcher {
wrapper.registerMessage(SatCoordPacket.Handler.class, SatCoordPacket.class, i++, Side.SERVER);
//Triggers gun animations of the client
wrapper.registerMessage(GunAnimationPacket.Handler.class, GunAnimationPacket.class, i++, Side.CLIENT);
//Sends a funi text to display like a music disc announcement
wrapper.registerMessage(PlayerInformPacket.Handler.class, PlayerInformPacket.class, i++, Side.CLIENT);
}
}

View File

@ -0,0 +1,52 @@
package com.hbm.packet;
import com.hbm.main.MainRegistry;
import cpw.mods.fml.common.network.ByteBufUtils;
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import io.netty.buffer.ByteBuf;
public class PlayerInformPacket implements IMessage {
String dmesg = "";
public PlayerInformPacket()
{
}
public PlayerInformPacket(String dmesg)
{
this.dmesg = dmesg;
}
@Override
public void fromBytes(ByteBuf buf) {
dmesg = ByteBufUtils.readUTF8String(buf);
}
@Override
public void toBytes(ByteBuf buf) {
ByteBufUtils.writeUTF8String(buf, dmesg);
}
public static class Handler implements IMessageHandler<PlayerInformPacket, IMessage> {
@Override
@SideOnly(Side.CLIENT)
public IMessage onMessage(PlayerInformPacket m, MessageContext ctx) {
try {
MainRegistry.proxy.displayTooltip(m.dmesg);
} catch (Exception x) { }
return null;
}
}
}

View File

@ -0,0 +1,21 @@
package com.hbm.render.entity.mob;
import com.hbm.lib.RefStrings;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.renderer.entity.RenderChicken;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.util.ResourceLocation;
public class RenderDuck extends RenderChicken {
public static final ResourceLocation ducc = new ResourceLocation(RefStrings.MODID, "textures/entity/duck.png");
public RenderDuck(ModelBase p_i1252_1_, float p_i1252_2_) {
super(p_i1252_1_, p_i1252_2_);
}
protected ResourceLocation getEntityTexture(EntityChicken p_110775_1_) {
return ducc;
}
}

View File

@ -18,7 +18,6 @@ import net.minecraft.util.ResourceLocation;
public class RenderScreenOverlay {
private static final ResourceLocation misc = new ResourceLocation(RefStrings.MODID + ":textures/misc/overlay_misc.png");
private static final ResourceLocation hud = new ResourceLocation("textures/gui/widgets.png");
private static final RenderItem itemRenderer = RenderItem.getInstance();
private static long lastSurvey;