Третья рука

Статус
В этой теме нельзя размещать новые ответы.
199
1
17
Ребят, пытался убрать третью руку (ванильная) т.к. у меня есть кастомные. Помогите пж. Вот код(говно код, сорри):
Java:
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import cpw.mods.fml.common.registry.EntityRegistry;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderHandEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import org.lwjgl.input.Keyboard;

@Mod(
   modid = "rfpr",
   name = "Real First by kraken",
   version = "0.1"
)
public class REN {

   public static final String MODID = "rfpr";
   public static final String MODNAME = "Real First by kraken";
   public static final String MODVER = "0.1";
   private static final REN instance = new REN();
 //  private static boolean itemDebug;
   private static float bodyOffset;
   private static int[] modes;
   private static boolean customItemOverride;
   private static boolean wasF1DownLastTick;
   private static byte currentMode = 0;
   private static byte spawnDelay = 100;
   private static REN.EntityPlayerDummy dummy;
   private static String[] overrideItems;


   @EventHandler
   public void PreInit(FMLPreInitializationEvent event) {
      this.initModMetadata(event);
      Configuration config = new Configuration(event.getSuggestedConfigurationFile());
      config.load();
      overrideItems = config.get("general", "OverrideItems", new String[]{"map", "compass", "clock"}, "When these items are held, RFPR will temporally stop rendering.").getStringList();
     // itemDebug = config.get("general", "ItemDebug", false, "Change this to true to have the log spit out what item your are holding.  \nUseful to find item names for the override list.").getBoolean();
      bodyOffset = (float)config.get("general", "RenderOffset", "0.35", "How far behind the player the body will render.").getDouble();
      modes = config.get("general", "Modes", new String[]{"111", "110", "011", "000", "001"}, "Mode IDs.  \nFirst number is whether to render arms in 3D or 2D mode.  \nSecond number is whether or not to render the body model.  \nThird number is whether or not to render the HUD.  \nAdd, delete, or change the order as you wish.  \nNOTE: Modes of type 1xx will NOT work with shaders!").getIntList();
      config.save();
   }

   @EventHandler
   public void Init(FMLInitializationEvent event) {
      FMLCommonHandler.instance().bus().register(instance);
      MinecraftForge.EVENT_BUS.register(instance);
      EntityRegistry.registerModEntity(REN.EntityPlayerDummy.class, "PlayerDummy", 0, "rfpr", 5, 100, false);
      RenderingRegistry.registerEntityRenderingHandler(REN.EntityPlayerDummy.class, new REN.RenderPlayerDummy());
   }

   private void initModMetadata(FMLPreInitializationEvent event) {
      ModMetadata meta = event.getModMetadata();
      meta.name = "Real First-Person Render";
      meta.description = "Small mod that adds in full-body rendering.";
      meta.authorList.clear();
      meta.authorList.add("don_bruce");
      meta.modId = "rfpr";
      meta.version = "8.1.0";
      meta.autogenerated = false;
   }
   public void renderFirstPersonArm(EntityPlayer entity)
   {
      
   }
  
   @SubscribeEvent
   public void on(ClientTickEvent event) {
      if(event.phase.equals(Phase.START)) {
      
         if(Keyboard.isKeyDown(0)) {
            if(!wasF1DownLastTick) {
            
               if(currentMode == modes.length - 1) {   
                
                  currentMode = 0;
               } else {
                  ++currentMode;
               }
            }

            wasF1DownLastTick = true;
         } else {
            wasF1DownLastTick = true;
         }

         Minecraft.getMinecraft().gameSettings.hideGUI = modes[currentMode] % 10 != 1;
      }

      customItemOverride = true;
      EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
      if(player != null) {
      
         if(player.inventory.getCurrentItem() != null) {
          
            String[] var3 = overrideItems;
            int var4 = var3.length;
            
            for(int var5 = 0; var5 < var4; ++var5) {
              String itemName = var3[var5];
            
                
        //       if(itemDebug) {
              {     
                  System.out.println(player.inventory.getCurrentItem().getUnlocalizedName().substring(5));
               }

        //       if(player.inventory.getCurrentItem().getUnlocalizedName().substring(5).contains(itemName)) {
            {
                  customItemOverride = true;
                  break;
               }
            }
         }

         if(dummy == null) {
            if(spawnDelay == 0) {
               dummy = new REN.EntityPlayerDummy(Minecraft.getMinecraft().theWorld);
               Minecraft.getMinecraft().theWorld.spawnEntityInWorld(dummy);
               dummy.setPositionAndRotation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch);
            } else {
               --spawnDelay;
            }
         } else if(dummy.worldObj.provider.dimensionId != player.worldObj.provider.dimensionId || dummy.getDistanceSqToEntity(player) > 5.0D) {
            dummy.setDead();
            dummy = null;
            spawnDelay = 100;
         }
      }

   }

   @SubscribeEvent
   public void on(RenderHandEvent event) {
      event.setCanceled(modes[currentMode] / 100 == 1 && !customItemOverride);
   }


   public class EntityPlayerDummy extends Entity {

      public EntityPlayerDummy(World world) {
         super(world);
         super.ignoreFrustumCheck = true;
         this.setSize(0.0F, 2.0F);
      }

      public void onUpdate() {
         EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
         REN.dummy.setPositionAndRotation(player.posX, player.posY - (double)player.height, player.posZ, player.rotationYaw, player.rotationPitch);
      }

      protected void entityInit() {}

      protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {}

      protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {}
   }

   public class RenderPlayerDummy extends Render {

      public void doRender(Entity entity, double x, double y, double z, float yaw, float ticks) {
         if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && REN.modes[REN.currentMode] % 100 >= 10) {
            EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
            if(/*player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem().getUnlocalizedName().toLowerCase().contains("elytra") &&*/ Keyboard.isKeyDown(0)) {
               return;
            }

            RenderPlayer playerRenderer = (RenderPlayer)super.renderManager.getEntityRenderObject(player);
            playerRenderer.modelBipedMain.bipedHead.isHidden = true;
            playerRenderer.modelBipedMain.bipedEars.isHidden = true;
            playerRenderer.modelBipedMain.bipedHeadwear.isHidden = true;
       //     ItemStack tempStack = player.inventory.getCurrentItem();
            if(REN.modes[REN.currentMode] / 100 != 1 || REN.customItemOverride && REN.modes[REN.currentMode] % 10 == 1) {
       //        player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack)null);
               playerRenderer.modelBipedMain.bipedLeftArm.isHidden = false;
               playerRenderer.modelBipedMain.bipedRightArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedHead.isHidden = true;
               playerRenderer.modelArmorChestplate.bipedLeftArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedRightArm.isHidden = false;
            }

        //    ItemStack helmetStack = player.inventory.armorInventory[3];
     //       player.inventory.armorInventory[3] = null;
            if(player.isPlayerSleeping()) {
               playerRenderer.doRender(player, player.posX - entity.posX + x, player.posY - entity.posY + y, player.posZ - entity.posZ + z, player.renderYawOffset, ticks);
            } else {
               double renderOffset = (double)(player.prevRenderYawOffset - (player.prevRenderYawOffset - player.renderYawOffset) * ticks);
               playerRenderer.doRender(player, player.posX - entity.posX + x + (double)REN.bodyOffset * Math.sin(Math.toRadians(renderOffset)), player.posY - entity.posY + y, player.posZ - entity.posZ + z - (double)REN.bodyOffset * Math.cos(Math.toRadians(renderOffset)), (float)renderOffset, ticks);
            }

        //    player.inventory.armorInventory[3] = helmetStack;
            playerRenderer.modelBipedMain.bipedHead.isHidden = false;
            playerRenderer.modelBipedMain.bipedEars.isHidden = false;
            playerRenderer.modelBipedMain.bipedHeadwear.isHidden = false;
            if(REN.modes[REN.currentMode] / 100 != 1 || REN.customItemOverride && REN.modes[REN.currentMode] % 10 == 1) {
      //         player.inventory.setInventorySlotContents(player.inventory.currentItem, tempStack);
               playerRenderer.modelBipedMain.bipedLeftArm.isHidden = false;
               playerRenderer.modelBipedMain.bipedRightArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedHead.isHidden = true;
               playerRenderer.modelArmorChestplate.bipedLeftArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedRightArm.isHidden = false;
            }
         }

      }

      protected ResourceLocation getEntityTexture(Entity entity) {
         return null;
      }
   }
}
 

timaxa007

Модератор
5,831
409
672

jopi

Попрошайка
1,421
30
260
Ребят, пытался убрать третью руку (ванильная) т.к. у меня есть кастомные. Помогите пж. Вот код(говно код, сорри):
Java:
import cpw.mods.fml.client.registry.RenderingRegistry;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.ModMetadata;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent;
import cpw.mods.fml.common.gameevent.TickEvent.Phase;
import cpw.mods.fml.common.registry.EntityRegistry;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderPlayer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
import net.minecraftforge.client.event.RenderHandEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import org.lwjgl.input.Keyboard;

@Mod(
   modid = "rfpr",
   name = "Real First by kraken",
   version = "0.1"
)
public class REN {

   public static final String MODID = "rfpr";
   public static final String MODNAME = "Real First by kraken";
   public static final String MODVER = "0.1";
   private static final REN instance = new REN();
//  private static boolean itemDebug;
   private static float bodyOffset;
   private static int[] modes;
   private static boolean customItemOverride;
   private static boolean wasF1DownLastTick;
   private static byte currentMode = 0;
   private static byte spawnDelay = 100;
   private static REN.EntityPlayerDummy dummy;
   private static String[] overrideItems;


   @EventHandler
   public void PreInit(FMLPreInitializationEvent event) {
      this.initModMetadata(event);
      Configuration config = new Configuration(event.getSuggestedConfigurationFile());
      config.load();
      overrideItems = config.get("general", "OverrideItems", new String[]{"map", "compass", "clock"}, "When these items are held, RFPR will temporally stop rendering.").getStringList();
     // itemDebug = config.get("general", "ItemDebug", false, "Change this to true to have the log spit out what item your are holding.  \nUseful to find item names for the override list.").getBoolean();
      bodyOffset = (float)config.get("general", "RenderOffset", "0.35", "How far behind the player the body will render.").getDouble();
      modes = config.get("general", "Modes", new String[]{"111", "110", "011", "000", "001"}, "Mode IDs.  \nFirst number is whether to render arms in 3D or 2D mode.  \nSecond number is whether or not to render the body model.  \nThird number is whether or not to render the HUD.  \nAdd, delete, or change the order as you wish.  \nNOTE: Modes of type 1xx will NOT work with shaders!").getIntList();
      config.save();
   }

   @EventHandler
   public void Init(FMLInitializationEvent event) {
      FMLCommonHandler.instance().bus().register(instance);
      MinecraftForge.EVENT_BUS.register(instance);
      EntityRegistry.registerModEntity(REN.EntityPlayerDummy.class, "PlayerDummy", 0, "rfpr", 5, 100, false);
      RenderingRegistry.registerEntityRenderingHandler(REN.EntityPlayerDummy.class, new REN.RenderPlayerDummy());
   }

   private void initModMetadata(FMLPreInitializationEvent event) {
      ModMetadata meta = event.getModMetadata();
      meta.name = "Real First-Person Render";
      meta.description = "Small mod that adds in full-body rendering.";
      meta.authorList.clear();
      meta.authorList.add("don_bruce");
      meta.modId = "rfpr";
      meta.version = "8.1.0";
      meta.autogenerated = false;
   }
   public void renderFirstPersonArm(EntityPlayer entity)
   {
     
   }
 
   @SubscribeEvent
   public void on(ClientTickEvent event) {
      if(event.phase.equals(Phase.START)) {
     
         if(Keyboard.isKeyDown(0)) {
            if(!wasF1DownLastTick) {
           
               if(currentMode == modes.length - 1) {  
               
                  currentMode = 0;
               } else {
                  ++currentMode;
               }
            }

            wasF1DownLastTick = true;
         } else {
            wasF1DownLastTick = true;
         }

         Minecraft.getMinecraft().gameSettings.hideGUI = modes[currentMode] % 10 != 1;
      }

      customItemOverride = true;
      EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
      if(player != null) {
     
         if(player.inventory.getCurrentItem() != null) {
         
            String[] var3 = overrideItems;
            int var4 = var3.length;
           
            for(int var5 = 0; var5 < var4; ++var5) {
              String itemName = var3[var5];
           
               
        //       if(itemDebug) {
              {    
                  System.out.println(player.inventory.getCurrentItem().getUnlocalizedName().substring(5));
               }

        //       if(player.inventory.getCurrentItem().getUnlocalizedName().substring(5).contains(itemName)) {
            {
                  customItemOverride = true;
                  break;
               }
            }
         }

         if(dummy == null) {
            if(spawnDelay == 0) {
               dummy = new REN.EntityPlayerDummy(Minecraft.getMinecraft().theWorld);
               Minecraft.getMinecraft().theWorld.spawnEntityInWorld(dummy);
               dummy.setPositionAndRotation(player.posX, player.posY, player.posZ, player.rotationYaw, player.rotationPitch);
            } else {
               --spawnDelay;
            }
         } else if(dummy.worldObj.provider.dimensionId != player.worldObj.provider.dimensionId || dummy.getDistanceSqToEntity(player) > 5.0D) {
            dummy.setDead();
            dummy = null;
            spawnDelay = 100;
         }
      }

   }

   @SubscribeEvent
   public void on(RenderHandEvent event) {
      event.setCanceled(modes[currentMode] / 100 == 1 && !customItemOverride);
   }


   public class EntityPlayerDummy extends Entity {

      public EntityPlayerDummy(World world) {
         super(world);
         super.ignoreFrustumCheck = true;
         this.setSize(0.0F, 2.0F);
      }

      public void onUpdate() {
         EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
         REN.dummy.setPositionAndRotation(player.posX, player.posY - (double)player.height, player.posZ, player.rotationYaw, player.rotationPitch);
      }

      protected void entityInit() {}

      protected void readEntityFromNBT(NBTTagCompound p_70037_1_) {}

      protected void writeEntityToNBT(NBTTagCompound p_70014_1_) {}
   }

   public class RenderPlayerDummy extends Render {

      public void doRender(Entity entity, double x, double y, double z, float yaw, float ticks) {
         if(Minecraft.getMinecraft().gameSettings.thirdPersonView == 0 && REN.modes[REN.currentMode] % 100 >= 10) {
            EntityClientPlayerMP player = Minecraft.getMinecraft().thePlayer;
            if(/*player.inventory.armorInventory[2] != null && player.inventory.armorInventory[2].getItem().getUnlocalizedName().toLowerCase().contains("elytra") &&*/ Keyboard.isKeyDown(0)) {
               return;
            }

            RenderPlayer playerRenderer = (RenderPlayer)super.renderManager.getEntityRenderObject(player);
            playerRenderer.modelBipedMain.bipedHead.isHidden = true;
            playerRenderer.modelBipedMain.bipedEars.isHidden = true;
            playerRenderer.modelBipedMain.bipedHeadwear.isHidden = true;
       //     ItemStack tempStack = player.inventory.getCurrentItem();
            if(REN.modes[REN.currentMode] / 100 != 1 || REN.customItemOverride && REN.modes[REN.currentMode] % 10 == 1) {
       //        player.inventory.setInventorySlotContents(player.inventory.currentItem, (ItemStack)null);
               playerRenderer.modelBipedMain.bipedLeftArm.isHidden = false;
               playerRenderer.modelBipedMain.bipedRightArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedHead.isHidden = true;
               playerRenderer.modelArmorChestplate.bipedLeftArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedRightArm.isHidden = false;
            }

        //    ItemStack helmetStack = player.inventory.armorInventory[3];
     //       player.inventory.armorInventory[3] = null;
            if(player.isPlayerSleeping()) {
               playerRenderer.doRender(player, player.posX - entity.posX + x, player.posY - entity.posY + y, player.posZ - entity.posZ + z, player.renderYawOffset, ticks);
            } else {
               double renderOffset = (double)(player.prevRenderYawOffset - (player.prevRenderYawOffset - player.renderYawOffset) * ticks);
               playerRenderer.doRender(player, player.posX - entity.posX + x + (double)REN.bodyOffset * Math.sin(Math.toRadians(renderOffset)), player.posY - entity.posY + y, player.posZ - entity.posZ + z - (double)REN.bodyOffset * Math.cos(Math.toRadians(renderOffset)), (float)renderOffset, ticks);
            }

        //    player.inventory.armorInventory[3] = helmetStack;
            playerRenderer.modelBipedMain.bipedHead.isHidden = false;
            playerRenderer.modelBipedMain.bipedEars.isHidden = false;
            playerRenderer.modelBipedMain.bipedHeadwear.isHidden = false;
            if(REN.modes[REN.currentMode] / 100 != 1 || REN.customItemOverride && REN.modes[REN.currentMode] % 10 == 1) {
      //         player.inventory.setInventorySlotContents(player.inventory.currentItem, tempStack);
               playerRenderer.modelBipedMain.bipedLeftArm.isHidden = false;
               playerRenderer.modelBipedMain.bipedRightArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedHead.isHidden = true;
               playerRenderer.modelArmorChestplate.bipedLeftArm.isHidden = false;
               playerRenderer.modelArmorChestplate.bipedRightArm.isHidden = false;
            }
         }

      }

      protected ResourceLocation getEntityTexture(Entity entity) {
         return null;
      }
   }
}
Код ваще не твой ээ, ты че?
Тут всё сразу понятно по modid и REN.тутПодКласс
т.к. я разбирал Improved First Person Mod

Далее. Ищи эвент руки, если он не Cancellable, то я хз как закрыть ;D
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху