I did everything right without changing code and it doesn't work/

Started by MouseofWarfare on Sun, 06/04/2017 - 14:28

Topic category: Help with MCreator modding

Last seen on 00:41, 19. Dec 2017
Joined Mar 2016
User points:

Statistics:

  • Comments:
  • Forum topics:
  • Modifications:
  • Wiki pages:
I did everything right without changing code and it doesn't work/
Sun, 06/04/2017 - 14:28

Here's the code for the mob:

 

import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.client.registry.RenderingRegistry;

import net.minecraft.world.biome.Biome;
import net.minecraft.world.World;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.EnumHand;
import net.minecraft.util.DamageSource;
import net.minecraft.potion.PotionEffect;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Item;
import net.minecraft.init.MobEffects;
import net.minecraft.init.Items;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.Entity;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.client.model.ModelBase;
import net.minecraft.client.Minecraft;

import java.util.Random;
import java.util.Iterator;
import java.util.ArrayList;

@SuppressWarnings("unchecked")
public class mcreator_faerie {

    public int mobid = 0;
    public static Object instance;

    public void load(FMLInitializationEvent event) {
    }

    public void generateNether(World world, Random random, int chunkX, int chunkZ) {
    }

    public void generateSurface(World world, Random random, int chunkX, int chunkZ) {
    }

    public int addFuel(ItemStack fuel) {
        return 0;
    }

    @SideOnly(Side.CLIENT)
    public void registerRenderers() {
        RenderLiving customRender = new RenderLiving(Minecraft.getMinecraft().getRenderManager(), new mcreator_faerie.Model(), 0) {
            protected ResourceLocation getEntityTexture(Entity par1Entity) {
                return new ResourceLocation("faery.png");
            }
        };
        RenderingRegistry.registerEntityRenderingHandler(mcreator_faerie.Entityfaerie.class, customRender);

    }

    public void serverLoad(FMLServerStartingEvent event) {
    }

    public void preInit(FMLPreInitializationEvent event) {
        int entityID = MathHelper.getRandomUUID().hashCode();
        mobid = entityID;
        EntityRegistry.registerModEntity(new ResourceLocation("testenvironmentmod:faerie"), mcreator_faerie.Entityfaerie.class, "faerie", entityID,
                instance, 64, 1, true, (255 << 16) + (0 << 8) + 255, (255 << 16) + (255 << 8) + 255);
        EntityRegistry.addSpawn(mcreator_faerie.Entityfaerie.class, 10, 3, 30, EnumCreatureType.CREATURE,
                Biome.REGISTRY.getObject(new ResourceLocation("taiga")));

    }

    public static Biome[] clean(net.minecraft.util.registry.RegistryNamespaced<ResourceLocation, Biome> in) {
        Iterator<Biome> itr = in.iterator();
        ArrayList<Biome> ls = new ArrayList<Biome>();
        while (itr.hasNext()) {
            ls.add(itr.next());
        }
        return ls.toArray(new Biome[ls.size()]);
    }

    public static class Entityfaerie extends EntityVillager {
        World world = null;

        public Entityfaerie(World var1) {
            super(var1);
            world = var1;
            experienceValue = 50;
            this.isImmuneToFire = true;
            addRandomArmor();
            setNoAI(!false);

        }

        protected void addRandomArmor() {

        }

        public void onLivingUpdate() {

            super.onLivingUpdate();
            World par1World = this.world;
            int par2 = (int) this.posX;
            int par3 = (int) this.posY;
            int par4 = (int) this.posZ;
            Random par5Random = this.rand;
            if (true)
                for (int l = 0; l < 10; ++l) {
                    double d0 = (double) ((float) par2 + par5Random.nextFloat());
                    double d1 = (double) ((float) par3 + par5Random.nextFloat());
                    double d2 = (double) ((float) par4 + par5Random.nextFloat());
                    double d3 = 0.0D;
                    double d4 = 0.0D;
                    double d5 = 0.0D;
                    int i1 = par5Random.nextInt(2) * 2 - 1;
                    d3 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D;
                    d4 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D;
                    d5 = ((double) par5Random.nextFloat() - 0.5D) * 0.5D;
                    par1World.spawnParticle(EnumParticleTypes.CRIT_MAGIC, d0, d1, d2, d3, d4, d5);
                }
        }

        @Override
        protected Item getDropItem() {
            return new ItemStack(Items.GLOWSTONE_DUST).getItem();
        }

        @Override
        protected net.minecraft.util.SoundEvent getAmbientSound() {
            return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation(
                    "entity.experience_orb.pickup"));
        }

        @Override
        protected net.minecraft.util.SoundEvent getHurtSound() {
            return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("game.neutral.hurt"));
        }

        @Override
        protected net.minecraft.util.SoundEvent getDeathSound() {
            return (net.minecraft.util.SoundEvent) net.minecraft.util.SoundEvent.REGISTRY.getObject(new ResourceLocation("game.neutral.die"));
        }

        @Override
        public void onStruckByLightning(EntityLightningBolt entityLightningBolt) {
            super.onStruckByLightning(entityLightningBolt);
            int i = (int) this.posX;
            int j = (int) this.posY;
            int k = (int) this.posZ;
            Entity entity = this;

        }

        @Override
        public void fall(float l, float d) {
            super.fall(l, d);
            int i = (int) this.posX;
            int j = (int) this.posY;
            int k = (int) this.posZ;
            super.fall(l, d);
            Entity entity = this;

        }

        @Override
        public void onDeath(DamageSource source) {
            super.onDeath(source);
            int i = (int) this.posX;
            int j = (int) this.posY;
            int k = (int) this.posZ;
            Entity entity = this;

            if (true) {
                if (entity instanceof EntityLivingBase)
                    ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.UNLUCK, 1000000, 10));
            }

        }

        @Override
        public boolean processInteract(EntityPlayer entity, EnumHand hand) {
            super.processInteract(entity, hand);
            int i = (int) this.posX;
            int j = (int) this.posY;
            int k = (int) this.posZ;

            if (entity.inventory.getCurrentItem() != null && entity.inventory.getCurrentItem().getItem() == mcreator_wand.block) {
                if (entity instanceof EntityPlayer)
                    ((EntityPlayer) entity).openGui(instance, mcreator_faerieGUI.GUIID, world, i, j, k);
            }

            return true;
        }

        @Override
        protected float getSoundVolume() {
            return 1.0F;
        }

    }

    /**
     * Faery - Russell Created using Tabula 5.1.0
     */
    public static class Faery extends ModelBase {
        public ModelRenderer RightLeg;
        public ModelRenderer RightLeg_1;
        public ModelRenderer Head;
        public ModelRenderer Torso;
        public ModelRenderer RightLeg_2;
        public ModelRenderer RightLeg_3;
        public ModelRenderer RightWing;
        public ModelRenderer LeftWing;

        public Faery() {
            this.textureWidth = 64;
            this.textureHeight = 64;
            this.RightLeg_1 = new ModelRenderer(this, 0, 0);
            this.RightLeg_1.setRotationPoint(0.3F, 0.0F, 0.0F);
            this.RightLeg_1.addBox(0.0F, 0.0F, 0.0F, 1, 3, 1, 0.0F);
            this.RightLeg_3 = new ModelRenderer(this, 0, 13);
            this.RightLeg_3.setRotationPoint(3.0F, -3.0F, 0.0F);
            this.RightLeg_3.addBox(0.0F, 0.0F, 0.0F, 1, 3, 1, 0.0F);
            this.LeftWing = new ModelRenderer(this, 0, 26);
            this.LeftWing.setRotationPoint(0.5F, -3.0F, 0.6F);
            this.LeftWing.addBox(0.0F, 0.0F, 0.0F, 1, 3, 3, 0.0F);
            this.setRotateAngle(LeftWing, 0.0F, -0.3490658503988659F, 0.0F);
            this.RightWing = new ModelRenderer(this, 0, 18);
            this.RightWing.setRotationPoint(1.5F, -3.0F, 0.6F);
            this.RightWing.addBox(0.0F, 0.0F, 0.0F, 1, 3, 3, 0.0F);
            this.setRotateAngle(RightWing, 0.0F, 0.3490658503988659F, 0.0F);
            this.RightLeg_2 = new ModelRenderer(this, 0, 0);
            this.RightLeg_2.setRotationPoint(1.7F, 0.0F, 0.0F);
            this.RightLeg_2.addBox(0.0F, 0.0F, 0.0F, 1, 3, 1, 0.0F);
            this.RightLeg = new ModelRenderer(this, 0, 13);
            this.RightLeg.setRotationPoint(-1.0F, -3.0F, 0.0F);
            this.RightLeg.addBox(0.0F, 0.0F, 0.0F, 1, 3, 1, 0.0F);
            this.Head = new ModelRenderer(this, 9, 0);
            this.Head.setRotationPoint(0.5F, -5.0F, -0.5F);
            this.Head.addBox(0.0F, 0.0F, 0.0F, 2, 2, 2, 0.0F);
            this.Torso = new ModelRenderer(this, 0, 6);
            this.Torso.setRotationPoint(0.0F, -3.0F, 0.0F);
            this.Torso.addBox(0.0F, 0.0F, 0.0F, 3, 3, 1, 0.0F);
        }

        @Override
        public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
            this.RightLeg_1.render(f5);
            this.RightLeg_3.render(f5);
            this.LeftWing.render(f5);
            this.RightWing.render(f5);
            this.RightLeg_2.render(f5);
            this.RightLeg.render(f5);
            this.Head.render(f5);
            this.Torso.render(f5);
        }

        /**
         * This is a helper function from Tabula to set the rotation of model
         * parts
         */
        public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) {
            modelRenderer.rotateAngleX = x;
            modelRenderer.rotateAngleY = y;
            modelRenderer.rotateAngleZ = z;
        }
    }

}

And here's the code for the gui:

 

import org.lwjgl.opengl.GL11;
import org.lwjgl.input.Keyboard;

import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.FMLCommonHandler;

import net.minecraft.world.World;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import net.minecraft.potion.PotionEffect;
import net.minecraft.item.ItemStack;
import net.minecraft.inventory.Slot;
import net.minecraft.inventory.InventoryHelper;
import net.minecraft.inventory.InventoryBasic;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Container;
import net.minecraft.init.MobEffects;
import net.minecraft.init.Items;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.Minecraft;

import java.util.Random;

@SuppressWarnings("unchecked")
public class mcreator_faerieGUI {

    public static Object instance;

    public static int GUIID = 2;

    public mcreator_faerieGUI() {
    }

    public void load(FMLInitializationEvent event) {
    }

    public void registerRenderers() {
    }

    public void generateNether(World world, Random random, int chunkX, int chunkZ) {
    }

    public void generateSurface(World world, Random random, int chunkX, int chunkZ) {
    }

    public int addFuel(ItemStack fuel) {
        return 0;
    }

    public void serverLoad(FMLServerStartingEvent event) {
    }

    public void preInit(FMLPreInitializationEvent event) {
    }

    public static IInventory FaerieOffering;

    public static IInventory inherited;

    public static class GuiContainerMod extends Container {

        World world = null;
        EntityPlayer entity = null;
        int i, j, k;

        public GuiContainerMod(World world, int i, int j, int k, EntityPlayer player) {

            this.world = world;
            this.entity = player;
            this.i = i;
            this.j = j;
            this.k = k;

            FaerieOffering = new InventoryBasic("FaerieOffering", true, 9);
            this.addSlotToContainer(new Slot(FaerieOffering, 0, 20, 14) {
                public boolean isItemValid(ItemStack stack) {
                    return ((stack != null) && stack.getItem() == Items.GOLD_INGOT);
                }

                public void onSlotChanged() {
                    super.onSlotChanged();
                    if (getHasStack()) {
                        EntityPlayer entity = Minecraft.getMinecraft().player;
                        int i = (int) entity.posX;
                        int j = (int) entity.posY;
                        int k = (int) entity.posZ;
                        MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
                        World world = server.worlds[0];

                        if (true) {
                            if (entity instanceof EntityLivingBase)
                                ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 1000000, 2));
                        }

                        if (true) {
                            FaerieOffering.decrStackSize(0, 1);
                        }

                    }
                }
            });
            this.addSlotToContainer(new Slot(FaerieOffering, 1, 20, 34) {
                public boolean isItemValid(ItemStack stack) {
                    return ((stack != null) && stack.getItem() == Items.EMERALD);
                }

                public void onSlotChanged() {
                    super.onSlotChanged();
                    if (getHasStack()) {
                        EntityPlayer entity = Minecraft.getMinecraft().player;
                        int i = (int) entity.posX;
                        int j = (int) entity.posY;
                        int k = (int) entity.posZ;
                        MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
                        World world = server.worlds[0];

                        if (true) {
                            FaerieOffering.decrStackSize(1, 1);
                        }

                        if (true) {
                            if (entity instanceof EntityLivingBase)
                                ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.LUCK, 1000000, 2));
                        }

                    }
                }
            });
            this.addSlotToContainer(new Slot(FaerieOffering, 2, 20, 55) {
                public boolean isItemValid(ItemStack stack) {
                    return ((stack != null) && stack.getItem() == Items.DIAMOND);
                }

                public void onSlotChanged() {
                    super.onSlotChanged();
                    if (getHasStack()) {
                        EntityPlayer entity = Minecraft.getMinecraft().player;
                        int i = (int) entity.posX;
                        int j = (int) entity.posY;
                        int k = (int) entity.posZ;
                        MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
                        World world = server.worlds[0];

                        if (true) {
                            if (entity instanceof EntityLivingBase)
                                ((EntityLivingBase) entity).addPotionEffect(new PotionEffect(MobEffects.STRENGTH, 1000000, 2));
                        }

                        if (true) {
                            FarieOffering.decrStackSize(2, 1);
                        }

                    }
                }
            });
            bindPlayerInventory(player.inventory);

        }

        @Override
        public boolean canInteractWith(EntityPlayer player) {
            return true;
        }

        protected void bindPlayerInventory(InventoryPlayer inventoryPlayer) {
            int i;
            int j;

            for (i = 0; i < 3; ++i) {
                for (j = 0; j < 9; ++j) {
                    this.addSlotToContainer(new Slot(inventoryPlayer, j + (i + 1) * 9, 8 + j * 18, 84 + i * 18));
                }
            }

            for (i = 0; i < 9; ++i) {
                this.addSlotToContainer(new Slot(inventoryPlayer, i, 8 + i * 18, 142));
            }
        }

        @Override
        public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) {
            ItemStack itemstack = null;
            Slot slot = (Slot) this.inventorySlots.get(index);

            if (slot != null && slot.getHasStack()) {
                ItemStack itemstack1 = slot.getStack();
                itemstack = itemstack1.copy();

                if (index < 9) {
                    if (!this.mergeItemStack(itemstack1, 9, (45 - 9), true)) {// fixes
                                                                                // shiftclick
                                                                                // error
                        return null;
                    }
                } else if (!this.mergeItemStack(itemstack1, 0, 9, false)) {
                    return null;
                }

                if (itemstack1.getCount() == 0) {
                    slot.putStack((ItemStack) null);
                } else {
                    slot.onSlotChanged();
                }

                if (itemstack1.getCount() == itemstack.getCount()) {
                    return null;
                }

                slot.onTake(playerIn, itemstack1);
            }

            return itemstack;
        }

        public void onContainerClosed(EntityPlayer playerIn) {
            super.onContainerClosed(playerIn);

            MinecraftServer server2 = FMLCommonHandler.instance().getMinecraftServerInstance();
            World world2 = server2.worlds[0];
            InventoryHelper.dropInventoryItems(world2, new BlockPos(i, j, k), FaerieOffering);

        }
    }

    public static class GuiWindow extends GuiContainer {

        int i = 0;
        int j = 0;
        int k = 0;
        EntityPlayer entity = null;

        public GuiWindow(World world, int i, int j, int k, EntityPlayer entity) {
            super(new GuiContainerMod(world, i, j, k, entity));
            this.i = i;
            this.j = j;
            this.k = k;
            this.entity = entity;
            this.xSize = 176;
            this.ySize = 166;
        }

        private static final ResourceLocation texture = new ResourceLocation("faeriegui.png");

        protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) {
            int posX = (this.width) / 2;
            int posY = (this.height) / 2;
            GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

            this.mc.renderEngine.bindTexture(texture);
            int k = (this.width - this.xSize) / 2;
            int l = (this.height - this.ySize) / 2;
            this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize);

            zLevel = 100.0F;

        }

        protected void mouseClicked(int par1, int par2, int par3) throws java.io.IOException {
            super.mouseClicked(par1, par2, par3);

        }

        public void updateScreen() {
            super.updateScreen();
            int posX = (this.width) / 2;
            int posY = (this.height) / 2;

        }

        @Override
        protected void keyTyped(char par1, int par2) throws java.io.IOException {

            super.keyTyped(par1, par2);

        }

        protected void drawGuiContainerForegroundLayer(int par1, int par2) {
            int posX = (this.width) / 2;
            int posY = (this.height) / 2;
            this.fontRendererObj.drawString("Regeneration (GOLD)", (39), (15), 0xffffff);
            this.fontRendererObj.drawString("Luck (EMERALD)", (39), (34), 0xffffff);
            this.fontRendererObj.drawString("Strength (DIAMOND)", (37), (54), 0xffffff);

        }

        public void onGuiClosed() {
            super.onGuiClosed();
            Keyboard.enableRepeatEvents(false);
        }

        public void initGui() {
            super.initGui();
            this.guiLeft = (this.width - 176) / 2;
            this.guiTop = (this.height - 166) / 2;
            Keyboard.enableRepeatEvents(true);
            this.buttonList.clear();
            int posX = (this.width) / 2;
            int posY = (this.height) / 2;

        }

        protected void actionPerformed(GuiButton button) {
            MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
            World world = server.worlds[0];

        }

        public boolean doesGuiPauseGame() {
            return false;
        }

    }

}

Help me