• 0

    posted a message on Server keeps timing out when other player joins

    I'm running a modded server with 42 mods from my Desktop which has 16GB RAM, a quad core 3.6GHz CPU and a wireless card.

    I have a friend who I play with and when we are both on at the same time (I use my laptop which has a quad core CPU and 6GB of RAM) I alwaays geyt booted due to timing out, even if I'm moving, and the NPCs limp like they have broken legs.

    It seems like the ping is extremely high but I don't know what I can do about it.

    I've port forwarded properly and set a static IP address for the desktop, ad I installed Optifine on the server and disabled monster spawns.

    I allocated 6GB of RAM to the server too, so it shouldn't be causing a crash.

    My desktop is only connected wirelessly though. is that the problem?

    Whenever he joins, it's always ME that gets booted even though I should have had everything set up properly.

    I can play for as long as I want when nobody else is online.

    My friend is in Michigan and I'm in Kentucky. so I'm on my LAN and he's on an external network.

    Posted in: Server Support and Administration
  • 0

    posted a message on Animaniacs:Wakko's Wish

    I'd be glad to upload it to MediaFire or Dropbox. Which would you prefer?

    EDIT: Replaced dA download with Dropbox download!

    Posted in: Maps
  • 0

    posted a message on Animaniacs:Wakko's Wish

    Screenshots of map

    DROPBOX DOWNLOAD: DOWNLOAD

    Note: This map requires many mods! Advanced Rocketry, Custom NPCs and ComputerCraft are just a few of them.

    In the download, you will find:

    • an MCreator mod I made to go along with the map
    • A list of mods you'll need and where to get them if there is a specific place
    • The skins for the NPCs
    • The world save file

    This map contains:

    • The town of Acme Falls, based off of its appearance in the Animaniacs movie, Wakko's Wish
    • An Advanced Rocketry solar system
    • an Advanced Rocketry warp ship based off of the Enterprise parody from the Animaniacs episode "Star Truck"
    • NPCs of official characters from the movie and the show, as well as many OCs belonging to several of my friends from dA (I do not own most of these OCs, they belong to other people who were OK with me adding them)
    • An extra town to the north of Acme Falls
    • A refurbished abandoned mineshaft with an entrance under the mansion in Acme Falls
    • The wooden water tower that the Warners live in in the movie, complete with a working water spout, beds, food and chests

    If anyone sees this and wants more screenshots, let me know and I'll add more! I've actually made 7 different versions of this map, from 2012 to now.

    This is the second revision of the 7th version, which is intended for Minecraft 1.10.2 with Forge.

    EDIT: is it OK for me to link to a download on Deviantart, or should it be DropBox or MediaFire?

    DeviantArt is an art site for those who don't know.

    Admins, can you point me in the right direction if that's now allowed? I'd appreciate it.

    EDIT_2: I replaced the dA download with a Dropbox one.

    Posted in: Maps
  • 0

    posted a message on Custom NPCs
    Quote from Cytheruk»

    Minecraft 1.7.10 trying to get jas to spawn my own custom created npc with custom npcs mod,with no success, is this the correct way?

    Thanks.


    First create a new world spawn in an npc with
    npc wand, name it (Fred) then close the npc ui thats it? (or is there
    more steps?) then edit cfg in jas (EntityHandlers folder) putting the
    npc name as in first example below.


    "customnpcs.Fred": {
    "Type-Enabled": "CREATURE(for neutral/civillian mob?)-true",
    "Contents": [
    "customnpcs.Fred"
    ]


    Second launch mc then jas will create cfg (spawn entries folder) edit this cfg setting it as below


    "Plains": {
    "CREATURE": {
    "customnpcs.Fred": {
    "Weight-PassivePackMax-ChunkPackMin-ChunkPackMax": "50-4-0-4"

    What on Earth are you trying to do? That's not how you make an NPC, you use the NPC wand.
    And also the 1.7.10 version isn't being updated anymore I don't think.
    Also, I'm having a hard time understanding you because I don't know what a "jas" is.
    Do you mean a JSON file?
    If that's what you meant, you're not supposed to edit those to make NPCs. You're supposed to use the wand.
    I can't really help you because I can't understand you. D:
    Posted in: Minecraft Mods
  • 0

    posted a message on Help with tameable mob? (Partially Java literate)

    I am using MCreator to make a mod which I need two tameable mobs for. I've created the textures and models, but here's the thing:

    One of the mobs needs to bring up a GUI when right clicked while sneaking and have an inventory as well as defending the other tameable mob when it gets hurt, and the other needs to have a ranged attack with a custom sound when the attack fires.

    I can READ Java, but I don't know how to write it, and I work much better visually than I do with just words. That's why I'm using MCreator, because GUIs are so much easier for me to use.

    Please, go easy on me! I'll put the code in spoilers.

    Please try to explain things to me without using programming lingo, because I don't know too much about it. I'm more of an idea man than a programmer. I come up with really cool ideas but I can't program without a ton of hand holding.

    If you want to help me, I'd appreciate it.


    The first spoiler is the mob that needs a ranged attack.


    package mod.mcreator;

    import net.minecraft.world.World;
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.DamageSource;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.Item;
    import net.minecraft.entity.projectile.EntityArrow;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.monster.EntityZombie;
    import net.minecraft.entity.monster.EntitySpider;
    import net.minecraft.entity.monster.EntitySkeleton;
    import net.minecraft.entity.effect.EntityLightningBolt;
    import net.minecraft.entity.ai.EntityAIWatchClosest;
    import net.minecraft.entity.ai.EntityAIWander;
    import net.minecraft.entity.ai.EntityAITempt;
    import net.minecraft.entity.ai.EntityAISwimming;
    import net.minecraft.entity.ai.EntityAIOpenDoor;
    import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
    import net.minecraft.entity.ai.EntityAILookIdle;
    import net.minecraft.entity.ai.EntityAIHurtByTarget;
    import net.minecraft.entity.ai.EntityAIArrowAttack;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.IRangedAttackMob;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.EntityList;
    import net.minecraft.entity.EntityCreature;
    import net.minecraft.entity.Entity;
    import net.minecraft.client.renderer.entity.RenderSnowball;
    import net.minecraft.client.renderer.entity.RenderLiving;
    import net.minecraft.client.model.ModelRenderer;
    import net.minecraft.client.network.NetHandlerPlayClient;
    import net.minecraft.client.model.ModelBase;

    import java.util.Random;

    import cpw.mods.fml.relauncher.SideOnly;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.event.FMLServerStartingEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.client.registry.RenderingRegistry;

    @SuppressWarnings("unchecked")
    public class mcreator_mobParabo {

    public static int mobid = 0;
    public Object instance;

    public void load() {
    }

    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() {
    RenderingRegistry.registerEntityRenderingHandler(mcreator_mobParabo.EntitymobParabo.class, new RenderLiving(
    new mcreator_mobParabo.ModelParabo(), 0) {
    protected ResourceLocation getEntityTexture(Entity par1Entity) {
    return new ResourceLocation("Parabo.png");
    }
    });
    RenderingRegistry.registerEntityRenderingHandler(EntityArrowCustom.class,
    new RenderSnowball(new ItemStack(mcreator_satelliteWaves.block).getItem()));

    }

    public void serverLoad(FMLServerStartingEvent event) {
    }

    public void preInit(FMLPreInitializationEvent event) {
    int entityID = EntityRegistry.findGlobalUniqueEntityId();
    mobid = entityID;
    EntityRegistry.registerGlobalEntityID(mcreator_mobParabo.EntitymobParabo.class, "mobParabo", entityID);
    EntityRegistry.registerModEntity(mcreator_mobParabo.EntitymobParabo.class, "mobParabo", entityID, instance, 64, 1, true);
    EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, (153 << 16) + (153 << 8) + 153, (102 << 16)
    + (102 << 8) + 0));
    EntityRegistry.addSpawn(mcreator_mobParabo.EntitymobParabo.class, 1, 1, 1, EnumCreatureType.creature, mcreator_bSXPlains.biome);

    int entityID2 = EntityRegistry.findGlobalUniqueEntityId();
    EntityRegistry.registerModEntity(EntityArrowCustom.class, "entityBulletmobParabo", entityID2, instance, 64, 1, true);

    }

    /*
    * public Entity spawnEntity(int var1, World var2, double var3, double var5,
    * double var7) { if(var1==mobid) return new
    * mcreator_mobParabo.EntitymobParabo(var2); else return null; }
    */

    public static class EntityArrowCustom extends EntityArrow {
    public EntityArrowCustom(World a) {
    super(a);
    }

    public EntityArrowCustom(World worldIn, EntityLivingBase shooter, float c) {
    super(worldIn, shooter, c);
    }
    }

    public static class EntitymobParabo extends EntityCreature implements IRangedAttackMob {
    World world = null;

    public EntitymobParabo(World var1) {
    super(var1);
    world = var1;
    experienceValue = 5;
    this.isImmuneToFire = false;
    addRandomArmor();
    this.tasks.addTask(0, new EntityAISwimming(this));
    this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
    this.tasks.addTask(8, new EntityAILookIdle(this));
    this.tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
    this.tasks.addTask(1, new EntityAIOpenDoor(this, false));
    this.tasks.addTask(1, new EntityAIOpenDoor(this, true));

    this.tasks.addTask(1, new EntityAITempt(this, 0.8D, mcreator_satellaController.block, false));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityZombie.class, 2, true));
    this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, false));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntitySkeleton.class, 2, true));
    this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, false));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntitySpider.class, 2, true));
    this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, false));
    this.tasks.addTask(1, new EntityAIArrowAttack(this, 1.0D, 20, 60, 15.0F));

    }

    protected void applyEntityAttributes() {
    super.applyEntityAttributes();
    this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.3D);
    this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D);
    if (this.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null)
    this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(0D);
    }

    protected void addRandomArmor() {

    }

    @Override
    public void attackEntityWithRangedAttack(EntityLivingBase target, float flval) {
    EntityArrowCustom entityarrow = new EntityArrowCustom(this.worldObj, this, 2.0f);
    this.worldObj.spawnEntityInWorld(entityarrow);
    }

    public boolean isAIEnabled() {
    return true;
    }

    @Override
    protected Item getDropItem() {
    return null;
    }

    /**
    * Returns the sound this mob makes while it's alive.
    */
    protected String getLivingSound() {
    return "";
    }

    /**
    * Returns the sound this mob makes when it is hurt.
    */
    protected String getHurtSound() {
    return "";
    }

    /**
    * Returns the sound this mob makes on death.
    */
    protected String getDeathSound() {
    return "";
    }

    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;

    }

    protected void fall(float l) {
    super.fall(l);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;
    super.fall(l);
    Entity entity = this;

    }

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

    }

    public void onKillEntity(EntityLiving entityLiving, EntityPlayer player) {
    super.onKillEntity(entityLiving);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;
    Entity entity = this;

    if (true) {

    world.playSoundAtEntity(player, "TestEnvironmentMod:satellacraft.parabolaserfire",0 ,0);
    }

    }

    public boolean interact(EntityPlayer entity) {
    super.interact(entity);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;

    return true;
    }

    public String getEntityName() {
    return "mobParabo";
    }

    }

    // Date: 1/14/2017 12:47:03 PM
    // Template version 1.1
    // Java generated by Techne
    // Keep in mind that you still need to fill in some blanks
    // - ZeuX

    public static class ModelParabo extends ModelBase {
    // fields
    ModelRenderer nose;
    ModelRenderer body;
    ModelRenderer rightarm;
    ModelRenderer leftarm;
    ModelRenderer rightleg;
    ModelRenderer leftleg;
    ModelRenderer antennae;
    ModelRenderer head;
    ModelRenderer dish;

    public ModelParabo() {
    textureWidth = 64;
    textureHeight = 32;

    nose = new ModelRenderer(this, 45, 1);
    nose.addBox(-1.5F, -5F, -8F, 3, 3, 3);
    nose.setRotationPoint(0F, 10F, 0F);
    nose.setTextureSize(64, 32);
    nose.mirror = true;
    setRotation(nose, 0F, 0F, 0F);
    body = new ModelRenderer(this, 28, 20);
    body.addBox(-4F, 0F, -2F, 6, 8, 4);
    body.setRotationPoint(1F, 10F, -1F);
    body.setTextureSize(64, 32);
    body.mirror = true;
    setRotation(body, 0F, 0F, 0F);
    rightarm = new ModelRenderer(this, 20, 20);
    rightarm.addBox(-2F, -2F, -1F, 2, 10, 2);
    rightarm.setRotationPoint(-3F, 12F, -1F);
    rightarm.setTextureSize(64, 32);
    rightarm.mirror = true;
    setRotation(rightarm, 0F, 0F, 0F);
    leftarm = new ModelRenderer(this, 12, 20);
    leftarm.addBox(0F, -2F, -1F, 2, 10, 2);
    leftarm.setRotationPoint(3F, 12F, -1F);
    leftarm.setTextureSize(64, 32);
    leftarm.mirror = true;
    setRotation(leftarm, 0F, 0F, 0F);
    rightleg = new ModelRenderer(this, 0, 20);
    rightleg.addBox(-2F, 0F, -2F, 3, 6, 3);
    rightleg.setRotationPoint(-1F, 18F, 0F);
    rightleg.setTextureSize(64, 32);
    rightleg.mirror = true;
    setRotation(rightleg, 0F, 0F, 0F);
    leftleg = new ModelRenderer(this, 0, 20);
    leftleg.addBox(-2F, 0F, -2F, 3, 6, 3);
    leftleg.setRotationPoint(2F, 18F, 0F);
    leftleg.setTextureSize(64, 32);
    leftleg.mirror = true;
    setRotation(leftleg, 0F, 0F, 0F);
    antennae = new ModelRenderer(this, 40, -3);
    antennae.addBox(0F, -15F, -12F, 0, 9, 11);
    antennae.setRotationPoint(0F, 10F, 0F);
    antennae.setTextureSize(64, 32);
    antennae.mirror = true;
    setRotation(antennae, -0.3490659F, 0F, 0F);
    head = new ModelRenderer(this, 0, 0);
    head.addBox(-4.5F, -9F, -5F, 9, 9, 10);
    head.setRotationPoint(0F, 10F, 0F);
    head.setTextureSize(64, 32);
    head.mirror = true;
    setRotation(head, 0F, 0F, 0F);
    dish = new ModelRenderer(this, 30, 0);
    dish.addBox(-3F, -15F, -8F, 6, 6, 1);
    dish.setRotationPoint(0F, 10F, 0F);
    dish.setTextureSize(64, 32);
    dish.mirror = true;
    setRotation(dish, -0.3490659F, 0F, 0F);
    }

    public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
    super.render(entity, f, f1, f2, f3, f4, f5);
    setRotationAngles(f, f1, f2, f3, f4, f5, entity);

    nose.render(f5);
    body.render(f5);
    rightarm.render(f5);
    leftarm.render(f5);
    rightleg.render(f5);
    leftleg.render(f5);
    antennae.render(f5);
    head.render(f5);
    dish.render(f5);
    }

    private void setRotation(ModelRenderer model, float x, float y, float z) {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
    }

    public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e)

    {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, e);
    this.head.rotateAngleY = f3 / (180F / (float) Math.PI);
    this.head.rotateAngleX = f4 / (180F / (float) Math.PI);
    this.antennae.rotateAngleY = f3 / (180F / (float) Math.PI);
    this.antennae.rotateAngleX = f4 / (180F / (float) Math.PI);
    this.nose.rotateAngleY = f3 / (180F / (float) Math.PI);
    this.nose.rotateAngleX = f4 / (180F / (float) Math.PI);
    this.dish.rotateAngleY = f3 / (180F / (float) Math.PI);
    this.dish.rotateAngleX = f4 / (180F / (float) Math.PI);
    this.leftleg.rotateAngleX = MathHelper.cos(f * 1.0F) * -1.0F * f1;
    this.rightleg.rotateAngleX = MathHelper.cos(f * 1.0F) * 1.0F * f1;
    this.rightarm.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F;
    this.leftarm.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F;
    }

    }

    }


    The next spoiler is the mob that needs an inventory and GUI:



    package mod.mcreator;

    import net.minecraft.world.World;
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.DamageSource;
    import net.minecraft.item.ItemStack;
    import net.minecraft.item.Item;
    import net.minecraft.init.Items;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.passive.EntityAnimal;
    import net.minecraft.entity.effect.EntityLightningBolt;
    import net.minecraft.entity.ai.EntityAIWatchClosest;
    import net.minecraft.entity.ai.EntityAIWander;
    import net.minecraft.entity.ai.EntityAITempt;
    import net.minecraft.entity.ai.EntityAISwimming;
    import net.minecraft.entity.ai.EntityAIPanic;
    import net.minecraft.entity.ai.EntityAIOpenDoor;
    import net.minecraft.entity.ai.EntityAIMate;
    import net.minecraft.entity.ai.EntityAILookIdle;
    import net.minecraft.entity.SharedMonsterAttributes;
    import net.minecraft.entity.EnumCreatureType;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.EntityList;
    import net.minecraft.entity.EntityAgeable;
    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 java.util.Random;

    import cpw.mods.fml.relauncher.SideOnly;
    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.event.FMLServerStartingEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.client.registry.RenderingRegistry;

    @SuppressWarnings("unchecked")
    public class mcreator_mobSatebo {

    public static int mobid = 0;
    public Object instance;

    public void load() {
    }

    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() {
    RenderingRegistry.registerEntityRenderingHandler(mcreator_mobSatebo.EntitymobSatebo.class, new RenderLiving(
    new mcreator_mobSatebo.ModelSatebo(), 0) {
    protected ResourceLocation getEntityTexture(Entity par1Entity) {
    return new ResourceLocation("Satebo.png");
    }
    });

    }

    public void serverLoad(FMLServerStartingEvent event) {
    }

    public void preInit(FMLPreInitializationEvent event) {
    int entityID = EntityRegistry.findGlobalUniqueEntityId();
    mobid = entityID;
    EntityRegistry.registerGlobalEntityID(mcreator_mobSatebo.EntitymobSatebo.class, "mobSatebo", entityID);
    EntityRegistry.registerModEntity(mcreator_mobSatebo.EntitymobSatebo.class, "mobSatebo", entityID, instance, 64, 1, true);
    EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, (255 << 16) + (0 << 8) + 0, (255 << 16)
    + (204 << 8) + 0));
    EntityRegistry.addSpawn(mcreator_mobSatebo.EntitymobSatebo.class, 1, 1, 1, EnumCreatureType.creature, mcreator_bSXPlains.biome);

    }

    /*
    * public Entity spawnEntity(int var1, World var2, double var3, double var5,
    * double var7) { if(var1==mobid) return new
    * mcreator_mobSatebo.EntitymobSatebo(var2); else return null; }
    */

    public static class EntitymobSatebo extends EntityAnimal {
    World world = null;

    public EntitymobSatebo(World var1) {
    super(var1);
    world = var1;
    experienceValue = 17;
    this.isImmuneToFire = false;
    addRandomArmor();
    this.tasks.addTask(0, new EntityAISwimming(this));
    this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
    this.tasks.addTask(8, new EntityAILookIdle(this));
    this.tasks.addTask(1, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
    this.tasks.addTask(1, new EntityAIOpenDoor(this, true));
    this.tasks.addTask(1, new EntityAIOpenDoor(this, false));

    this.tasks.addTask(1, new EntityAITempt(this, 0.8D, mcreator_satellaController.block, false));
    this.tasks.addTask(1, new EntityAIPanic(this, 1.2D));
    this.setSize(0.9F, 1.4F);
    this.tasks.addTask(3, new EntityAIMate(this, 1.0D));

    }

    protected void applyEntityAttributes() {
    super.applyEntityAttributes();
    this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.4D);
    this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40D);
    if (this.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null)
    this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(7D);
    }

    protected void addRandomArmor() {

    }

    public EntitymobSatebo createChild(EntityAgeable ageable) {
    return new EntitymobSatebo(world);
    }

    public float getEyeHeight() {
    return this.isChild() ? this.height : 1.3F;
    }

    public boolean isBreedingItem(ItemStack stack) {
    return stack != null && com.google.common.collect.Sets.newHashSet(new Item[]{}).contains(stack.getItem());
    }

    public boolean isAIEnabled() {
    return true;
    }

    @Override
    protected Item getDropItem() {
    return new ItemStack(mcreator_sateboItem.block).getItem();
    }

    /**
    * Returns the sound this mob makes while it's alive.
    */
    protected String getLivingSound() {
    return "";
    }

    /**
    * Returns the sound this mob makes when it is hurt.
    */
    protected String getHurtSound() {
    return "TestEnvironmentMod:satellacraft.satebophhurt";
    }

    /**
    * Returns the sound this mob makes on death.
    */
    protected String getDeathSound() {
    return "TestEnvironmentMod:satellacraft.satebophdeath";
    }

    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;

    if (true) {
    world.createExplosion((Entity) null, i, j, k, 0.1F, true);
    }

    if (true) {
    Entity sentity = EntityList.createEntityByName("mobSwitchebo", world);
    if (sentity != null) {
    sentity.setLocationAndAngles(i, j + 1, k, world.rand.nextFloat() * 360F, 0.0F);
    world.spawnEntityInWorld(sentity);
    ((EntityLiving) sentity).playLivingSound();
    }
    }

    }

    protected void fall(float l) {
    super.fall(l);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;
    super.fall(l);
    Entity entity = this;

    }

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

    }

    public void onKillEntity(EntityLiving entityLiving) {
    super.onKillEntity(entityLiving);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;
    Entity entity = this;

    }

    public boolean interact(EntityPlayer entity) {
    super.interact(entity);
    int i = (int) this.posX;
    int j = (int) this.posY;
    int k = (int) this.posZ;

    if (entity.inventory.getCurrentItem() != null && entity.inventory.getCurrentItem().getItem() == Items.arrow) {

    if (true) {
    this.setDead();
    }

    if (true) {
    world.setBlock(i, j + 1, k, mcreator_sateboLoopholeBlock.block, 0, 2);
    }

    }

    return true;
    }

    public String getEntityName() {
    return "mobSatebo";
    }

    }

    // Date: 1/14/2017 2:26:43 PM
    // Template version 1.1
    // Java generated by Techne
    // Keep in mind that you still need to fill in some blanks
    // - ZeuX

    public static class ModelSatebo extends ModelBase {
    // fields
    ModelRenderer antennae;
    ModelRenderer antennaecircle;
    ModelRenderer head;
    ModelRenderer rightarm;
    ModelRenderer righthand;
    ModelRenderer leftarm;
    ModelRenderer lefthand;

    public ModelSatebo() {
    textureWidth = 128;
    textureHeight = 64;

    antennae = new ModelRenderer(this, 18, 23);
    antennae.addBox(-3F, -8F, 0F, 6, 8, 0);
    antennae.setRotationPoint(0F, 0F, -1F);
    antennae.setTextureSize(128, 64);
    antennae.mirror = true;
    setRotation(antennae, 0F, 0F, 0F);
    antennaecircle = new ModelRenderer(this, -6, 23);
    antennaecircle.addBox(-3F, -5F, -3F, 6, 0, 6);
    antennaecircle.setRotationPoint(0F, 0F, -1F);
    antennaecircle.setTextureSize(128, 64);
    antennaecircle.mirror = true;
    setRotation(antennaecircle, 0F, 0F, 0F);
    head = new ModelRenderer(this, 0, 0);
    head.addBox(-5F, -10F, -5F, 16, 13, 10);
    head.setRotationPoint(-3F, 10F, 0F);
    head.setTextureSize(128, 64);
    head.mirror = true;
    setRotation(head, 0F, 0F, 0F);
    rightarm = new ModelRenderer(this, 0, 2);
    rightarm.addBox(-3F, -1F, -1F, 3, 2, 2);
    rightarm.setRotationPoint(-8F, 6F, 0F);
    rightarm.setTextureSize(128, 64);
    rightarm.mirror = true;
    setRotation(rightarm, 0F, 0F, 0F);
    righthand = new ModelRenderer(this, 52, 12);
    righthand.addBox(-16F, -5F, -1F, 13, 10, 2);
    righthand.setRotationPoint(-8F, 6F, 0F);
    righthand.setTextureSize(128, 64);
    righthand.mirror = true;
    setRotation(righthand, 0F, 0F, 0F);
    leftarm = new ModelRenderer(this, 0, 6);
    leftarm.addBox(0F, -1F, -1F, 3, 2, 2);
    leftarm.setRotationPoint(8F, 6F, 0F);
    leftarm.setTextureSize(128, 64);
    leftarm.mirror = true;
    setRotation(leftarm, 0F, 0F, 0F);
    lefthand = new ModelRenderer(this, 52, 0);
    lefthand.addBox(3F, -5F, -1F, 13, 10, 2);
    lefthand.setRotationPoint(8F, 6F, 0F);
    lefthand.setTextureSize(128, 64);
    lefthand.mirror = true;
    setRotation(lefthand, 0F, 0F, 0F);
    }

    public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) {
    super.render(entity, f, f1, f2, f3, f4, f5);
    setRotationAngles(f, f1, f2, f3, f4, f5, entity);

    antennae.render(f5);
    antennaecircle.render(f5);
    head.render(f5);
    rightarm.render(f5);
    righthand.render(f5);
    leftarm.render(f5);
    lefthand.render(f5);
    }

    private void setRotation(ModelRenderer model, float x, float y, float z) {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
    }

    public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity e)

    {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, e);
    this.righthand.rotateAngleX = MathHelper.cos(f * 0.6662F + (float) Math.PI) * 2.0F * f1 * 0.5F;
    this.lefthand.rotateAngleX = MathHelper.cos(f * 0.6662F) * 2.0F * f1 * 0.5F;
    }

    }

    }

    I don't want these mobs to be able to breed.

    I tried looking at the code for the horse and the wolf, but I couldn't figure it out.

    I will now put in the inventory/GUI for the mob:



    package mod.mcreator;

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

    import net.minecraft.world.World;
    import net.minecraft.util.ResourceLocation;
    import net.minecraft.tileentity.TileEntity;
    import net.minecraft.server.MinecraftServer;
    import net.minecraft.item.ItemStack;
    import net.minecraft.inventory.Slot;
    import net.minecraft.inventory.InventoryBasic;
    import net.minecraft.inventory.IInventory;
    import net.minecraft.inventory.Container;
    import net.minecraft.entity.player.InventoryPlayer;
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.entity.EntityLiving;
    import net.minecraft.entity.EntityList;
    import net.minecraft.entity.Entity;
    import net.minecraft.client.gui.inventory.GuiContainer;
    import net.minecraft.client.gui.GuiButton;
    import net.minecraft.client.Minecraft;

    import java.util.Random;

    import cpw.mods.fml.common.network.NetworkRegistry;
    import cpw.mods.fml.common.event.FMLServerStartingEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.FMLCommonHandler;

    @SuppressWarnings("unchecked")
    public class mcreator_sateboChestGUI {

    public static Object instance;

    public static int GUIID = 8;

    public mcreator_sateboChestGUI() {
    }

    public void load() {
    // NetworkRegistry.INSTANCE.registerGuiHandler(instance, new
    // GuiHandler());
    }

    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 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;

    TileEntity ent = world.getTileEntity(i, j, k);
    if (ent != null && (ent instanceof mcreator_sateboLoopholeBlock.TileEntityCustom))
    inherited = (IInventory) ent;
    else
    inherited = new InventoryBasic("", true, 9);

    this.addSlotToContainer(new Slot(inherited, 0, 22, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 1, 42, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 2, 62, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 3, 82, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 4, 102, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 5, 122, 30) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 6, 22, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 7, 42, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 8, 62, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 9, 82, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 10, 102, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    this.addSlotToContainer(new Slot(inherited, 11, 122, 50) {
    public void onSlotChanged() {
    super.onSlotChanged();
    if (getHasStack()) {
    EntityPlayer entity = Minecraft.getMinecraft().thePlayer;
    int i = (int) entity.posX;
    int j = (int) entity.posY;
    int k = (int) entity.posZ;
    MinecraftServer server = FMLCommonHandler.instance().getMinecraftServerInstance();
    World world = server.worldServers[0];

    }
    }
    });
    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.stackSize == 0) {
    slot.putStack((ItemStack) null);
    } else {
    slot.onSlotChanged();
    }

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

    slot.onPickupFromSlot(playerIn, itemstack1);
    }

    return itemstack;
    }

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

    }
    }

    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("SateboChestGUI.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;

    this.mc.renderEngine.bindTexture(new ResourceLocation("SateboChestTwo.png"));
    this.drawTexturedModalRect((this.guiLeft + 0), (this.guiTop + 0), 0, 0, 256, 256);

    }

    protected void mouseClicked(int par1, int par2, int par3) {
    super.mouseClicked(par1, par2, par3);

    }

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

    }

    protected void keyTyped(char par1, int par2) {

    super.keyTyped(par1, par2);

    }

    protected void drawGuiContainerForegroundLayer(int par1, int par2) {
    int posX = (this.width) / 2;
    int posY = (this.height) / 2;

    }

    public void 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;
    this.buttonList.add(new GuiButton(0, this.guiLeft + 155, this.guiTop + 48, 12, 20, "X"));

    }

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

    if (button.id == 0) {

    if (world.getBlock(i, j, k) == mcreator_sateboLoopholeBlock.block) {
    world.setBlockToAir(i, j, k);
    }

    if (true) {
    Entity sentity = EntityList.createEntityByName("mobSatebo", world);
    if (sentity != null) {
    sentity.setLocationAndAngles(i, j, k, world.rand.nextFloat() * 360F, 0.0F);
    world.spawnEntityInWorld(sentity);
    ((EntityLiving) sentity).playLivingSound();
    }
    }

    }

    }

    public boolean doesGuiPauseGame() {
    return false;
    }

    }

    }

    I've looked around in Githubs for open source mods as well as the MCP code and I couldn't find anything to use that wasn't either not using vanilla methods or obfuscated.

    Posted in: Modification Development
  • 0

    posted a message on Need specific 1.7.10 seed

    I know I was late in responding, but thank you for explaining. This thread can be locked now..

    Posted in: Seeds
  • 0

    posted a message on Need specific 1.7.10 seed

    I need a 1.7.10 seed with a decently sized Cold Taiga, with a Plains biome and a Desert or Savannah nearby.

    I plan to use it for an Undertale map, with Snowdin being in the taiga and the Ruins being in the plains. The biomes need to be big enough for me to fit all of the levels/regions in.

    Posted in: Seeds
  • 0

    posted a message on Ban MCreator mods?

    There are actually many Undertale mods. And while I did see an MCreator Undertale NPC mod that had good models, they probably don't have good AI.

    Posted in: Forum Discussion & Info
  • 0

    posted a message on Intermediary - Run Minecraft 1.2.5 mods in 1.7.10!

    I actually found my old 1.2.5 setup, but like I said, I have no idea what mods I installed in it.

    I could probably share some of the old mods that haven't been updated if anyone wants them, and maybe some of my old NPC skins and maps.

    Posted in: WIP Mods
  • 1

    posted a message on Intermediary - Run Minecraft 1.2.5 mods in 1.7.10!

    It would probably be easier for me to just upload the JSON file and link to 1.2.5 Forge.

    I'll do it in the morning, it's midnight here.

    EDIT

    Here's a video that will explain everything:

    Posted in: WIP Mods
  • 0

    posted a message on Intermediary - Run Minecraft 1.2.5 mods in 1.7.10!

    Not if you make a JSON file to go with the Jar.

    What do you mean by "Jar mod" though?

    The old fashioned meaning (As in, a mod where you need to drag a class file into the Minecraft.jar along with the mod in the mods folder) or the new meaning (As in, a mod with the .jar file extension)?

    I'm assuming you mean the old meaning.

    I managed to get the 1.2.5 Solar Apocalypse working with the new launcher along with Forge.

    I probably AM allowed to share my Json file, but it's not too hard to set it up.

    Posted in: WIP Mods
  • 0

    posted a message on Intermediary - Run Minecraft 1.2.5 mods in 1.7.10!

    so where did you find the download for custom mob spawner 1.5.1 for more creeps and weirdos?? im having an extremely hard time finding it




    I think this thing is dead, so there's no need to worry about it updating.

    If you want to run an old mod that was for 1.2.5 and wasn't updated to a newer version, set up a 1.2.5 Forge or ModLoader profile with JSON in the new launcher and play that instead. That's actually much easier than trying to get this to work properly. You can still get the newer 1.2.5 Forge versions from the Forge website, and possibly FML too.

    Although I don't know about ModLoader or ModLoaderMP, however I DO have ModLoader MP on a flash drive, but I don't know if the creators would approve of me sharing it. I actually have a complete 1.2.5 setup that was what I used back in 2012 in high school. It has all of my old mods and everything! Although, the problem is that it crashes with an error message, and I installed many mods that edited class files in the JAR, and I forgot which ones I installed.

    So I have no idea which ones I need to have in it for it to work properly, and I don't remember which classes I modified or which mods were used on what map.

    Posted in: WIP Mods
  • 0

    posted a message on Ban MCreator mods?

    Exactly. That's a perfect way to explain it.

    Posted in: Forum Discussion & Info
  • 0

    posted a message on Ban MCreator mods?

    Phew! I was worried for a second.

    Yeah, MCreator is a simple thing, and it DOES offer a lot of possibilities for really low quality mods, but it also allows people who have creative ideas, but who don't like or want to learn how to program, to make mods in an easy way. That's why I like it. I think that personally, if the mod has a creative idea, it should be allowed, but if it just adds, say, a single overpowered weapon, then it wouldn't be allowed.

    Posted in: Forum Discussion & Info
  • 0

    posted a message on Ban MCreator mods?

    I use MCreator but I don't make simple overly common mods like overpowered weapons with it.

    I usually come up with creative ideas, like a Glitch Pokemon dimension and glitch Pokemon mobs. The only reason I use MCreator is because programming intimidates me and I don't like how whenever I fix an error, 100 more are created. Plus, I like working with a GUI.

    EDIT: I just looked at the date of this post and noticed it's old, can someone delete this comment or lock this? I'm sorry for bumping this.

    Posted in: Forum Discussion & Info
  • To post a comment, please or register a new account.