mirror of
https://github.com/ACGaming/Spackenmobs
synced 2024-11-29 02:02:42 +01:00
Compare commits
2 commits
4d2572db2c
...
eda02e783b
Author | SHA1 | Date | |
---|---|---|---|
|
eda02e783b | ||
|
9e7cbb7aab |
16 changed files with 315 additions and 231 deletions
|
@ -50,6 +50,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
this.setSize(0.6F, 1.7F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate()
|
||||
{
|
||||
if (this.isEntityAlive())
|
||||
|
@ -84,27 +85,32 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
super.onUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
|
||||
{
|
||||
return SoundEvents.ENTITY_CREEPER_HURT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getDeathSound()
|
||||
{
|
||||
return SoundEvents.ENTITY_CREEPER_DEATH;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean attackEntityAsMob(Entity entityIn)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyEntityAttributes()
|
||||
{
|
||||
super.applyEntityAttributes();
|
||||
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeath(DamageSource cause)
|
||||
{
|
||||
super.onDeath(cause);
|
||||
|
@ -126,6 +132,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fall(float distance, float damageMultiplier)
|
||||
{
|
||||
super.fall(distance, damageMultiplier);
|
||||
|
@ -158,6 +165,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
this.dataManager.set(STATE, state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStruckByLightning(EntityLightningBolt lightningBolt)
|
||||
{
|
||||
super.onStruckByLightning(lightningBolt);
|
||||
|
@ -184,6 +192,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
++this.droppedSkulls;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initEntityAI()
|
||||
{
|
||||
this.tasks.addTask(1, new EntityAISwimming(this));
|
||||
|
@ -197,6 +206,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void entityInit()
|
||||
{
|
||||
super.entityInit();
|
||||
|
@ -205,6 +215,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
this.dataManager.register(IGNITED, Boolean.FALSE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeEntityToNBT(NBTTagCompound compound)
|
||||
{
|
||||
super.writeEntityToNBT(compound);
|
||||
|
@ -219,6 +230,7 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
compound.setBoolean("ignited", this.hasIgnited());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readEntityFromNBT(NBTTagCompound compound)
|
||||
{
|
||||
super.readEntityFromNBT(compound);
|
||||
|
@ -241,16 +253,19 @@ public class EntityBakaMitaiCreeper extends EntityMob
|
|||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected ResourceLocation getLootTable()
|
||||
{
|
||||
return LootTableList.ENTITIES_CREEPER;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxFallHeight()
|
||||
{
|
||||
return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean processInteract(EntityPlayer player, EnumHand hand)
|
||||
{
|
||||
ItemStack itemstack = player.getHeldItem(hand);
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package mod.acgaming.spackenmobs.entities;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.EntityAgeable;
|
||||
import net.minecraft.entity.EntityCreature;
|
||||
import net.minecraft.entity.EntityLiving;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.*;
|
||||
import net.minecraft.entity.passive.EntityAnimal;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.init.SoundEvents;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
|
@ -16,7 +14,7 @@ import net.minecraft.world.World;
|
|||
|
||||
import mod.acgaming.spackenmobs.misc.ModSoundEvents;
|
||||
|
||||
public class EntityGisela extends EntityAnimal
|
||||
public class EntityGisela extends EntityCreature
|
||||
{
|
||||
public EntityGisela(World worldIn)
|
||||
{
|
||||
|
@ -24,24 +22,19 @@ public class EntityGisela extends EntityAnimal
|
|||
this.setSize(0.6F, 1.8F);
|
||||
}
|
||||
|
||||
public EntityGisela createChild(EntityAgeable ageable)
|
||||
{
|
||||
return new EntityGisela(this.world);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initEntityAI()
|
||||
{
|
||||
this.tasks.addTask(0, new EntityAISwimming(this));
|
||||
this.tasks.addTask(1, new EntityAIPanic(this, 2.0D));
|
||||
this.tasks.addTask(2, new EntityAIMate(this, 1.0D));
|
||||
this.tasks.addTask(3, new EntityAITempt(this, 1.25D, Items.SUGAR, false));
|
||||
this.tasks.addTask(4, new EntityAIFollowParent(this, 1.25D));
|
||||
this.tasks.addTask(5, new EntityAIWanderAvoidWater(this, 1.0D));
|
||||
this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
|
||||
this.tasks.addTask(7, new EntityAILookIdle(this));
|
||||
this.targetTasks.addTask(1, new EntityAINearestAttackableTarget<>(this, EntityLiving.class, true));
|
||||
this.tasks.addTask(2, new EntityAIWanderAvoidWater(this, 1.0D));
|
||||
this.tasks.addTask(3, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F));
|
||||
this.tasks.addTask(4, new EntityAILookIdle(this));
|
||||
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, false));
|
||||
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityLiving.class, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void applyEntityAttributes()
|
||||
{
|
||||
super.applyEntityAttributes();
|
||||
|
@ -49,21 +42,25 @@ public class EntityGisela extends EntityAnimal
|
|||
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(1.25D);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getAmbientSound()
|
||||
{
|
||||
return ModSoundEvents.ENTITY_GISELA_AMBIENT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
|
||||
{
|
||||
return ModSoundEvents.ENTITY_GISELA_HURT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getDeathSound()
|
||||
{
|
||||
return ModSoundEvents.ENTITY_GISELA_HURT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void playStepSound(BlockPos pos, Block blockIn)
|
||||
{
|
||||
this.playSound(SoundEvents.ENTITY_COW_STEP, 0.15F, 1.0F);
|
||||
|
|
|
@ -153,9 +153,9 @@ public class EntityJens extends EntityAnimal
|
|||
}
|
||||
|
||||
@Override
|
||||
public mod.acgaming.spackenmobs.entities.EntityJens createChild(EntityAgeable ageable)
|
||||
public EntityJens createChild(EntityAgeable ageable)
|
||||
{
|
||||
return new mod.acgaming.spackenmobs.entities.EntityJens(this.world);
|
||||
return new EntityJens(this.world);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -283,7 +283,7 @@ public class EntityJens extends EntityAnimal
|
|||
this.digesting = true;
|
||||
this.dataManager.set(DIGESTING, true);
|
||||
|
||||
this.digestTime = (ModConfigs.Jens_digest_time * 20);
|
||||
this.digestTime = (ModConfigs.misc.Jens_digest_time * 20);
|
||||
this.dataManager.set(DIGEST_TIME, this.digestTime);
|
||||
|
||||
for (int i = 0; i < 7; ++i)
|
||||
|
@ -294,7 +294,7 @@ public class EntityJens extends EntityAnimal
|
|||
this.world.spawnParticle(EnumParticleTypes.HEART, this.posX + this.rand.nextFloat() * this.width * 2.0F - this.width, this.posY + 0.5D + this.rand.nextFloat() * this.height, this.posZ + this.rand.nextFloat() * this.width * 2.0F - this.width, d0, d1, d2);
|
||||
}
|
||||
|
||||
this.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, ModConfigs.Jens_digest_time * 20));
|
||||
this.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, ModConfigs.misc.Jens_digest_time * 20));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -302,7 +302,7 @@ public class EntityJens extends EntityAnimal
|
|||
{
|
||||
this.tasks.addTask(0, new EntityAISwimming(this));
|
||||
this.tasks.addTask(1, new EntityAIPanic(this, 1.25D));
|
||||
this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.Jens_search_distance));
|
||||
this.tasks.addTask(2, new EntityAIDance(this, ModConfigs.misc.Jens_search_distance));
|
||||
this.tasks.addTask(2, new EntityAIEatDroppedFish(this));
|
||||
this.tasks.addTask(3, new EntityAIMate(this, 1.0D));
|
||||
this.tasks.addTask(4, new EntityAITempt(this, 1.2D, ModItems.RAM, false));
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
package mod.acgaming.spackenmobs.misc;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.Biome.SpawnListEntry;
|
||||
|
||||
// Thanks to Vazkii!
|
||||
public class BiomeHelper
|
||||
{
|
||||
|
||||
public static Biome[] getBiomesWithMonster(Class<? extends Entity> clazz)
|
||||
{
|
||||
List<Biome> biomes = new ArrayList<>();
|
||||
for (Biome b : Biome.REGISTRY)
|
||||
{
|
||||
List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.MONSTER);
|
||||
for (SpawnListEntry e : spawnList)
|
||||
if (e.entityClass == clazz)
|
||||
{
|
||||
biomes.add(b);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return biomes.toArray(new Biome[0]);
|
||||
}
|
||||
|
||||
public static Biome[] getBiomesWithCreature(Class<? extends Entity> clazz)
|
||||
{
|
||||
List<Biome> biomes = new ArrayList<>();
|
||||
for (Biome b : Biome.REGISTRY)
|
||||
{
|
||||
List<SpawnListEntry> spawnList = b.getSpawnableList(EnumCreatureType.CREATURE);
|
||||
for (SpawnListEntry e : spawnList)
|
||||
if (e.entityClass == clazz)
|
||||
{
|
||||
biomes.add(b);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return biomes.toArray(new Biome[0]);
|
||||
}
|
||||
}
|
|
@ -5,141 +5,164 @@ import net.minecraftforge.common.config.Config.LangKey;
|
|||
import net.minecraftforge.common.config.Config.Name;
|
||||
import net.minecraftforge.common.config.ConfigManager;
|
||||
import net.minecraftforge.fml.client.event.ConfigChangedEvent;
|
||||
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
|
||||
@Config(modid = "spackenmobs")
|
||||
import mod.acgaming.spackenmobs.Spackenmobs;
|
||||
|
||||
@Config(modid = Spackenmobs.MODID, name = "Spackenmobs")
|
||||
@LangKey("spackenmobs.config.title")
|
||||
public class ModConfigs
|
||||
{
|
||||
@Name("Allow ApoRed to spawn?")
|
||||
public static boolean ApoRed_spawn = true;
|
||||
@Name("Allow Baka Mitai Creeper to spawn?")
|
||||
public static boolean BakaMitaiCreeper_spawn = true;
|
||||
@Name("Allow Drachenlord to spawn?")
|
||||
public static boolean Drachenlord_spawn = true;
|
||||
@Name("Allow Friedrich Liechtenstein to spawn?")
|
||||
public static boolean Friedrich_spawn = true;
|
||||
@Name("Allow Holzstammhuhn to spawn?")
|
||||
public static boolean Holzstammhuhn_spawn = true;
|
||||
@Name("Allow Islamist to spawn?")
|
||||
public static boolean Islamist_spawn = true;
|
||||
@Name("Allow Jens to spawn?")
|
||||
public static boolean Jens_spawn = true;
|
||||
@Name("Allow Marcell D'Avis to spawn?")
|
||||
public static boolean MarcellDAvis_spawn = true;
|
||||
@Name("Allow Mr. Bean to spawn?")
|
||||
public static boolean MrBean_spawn = true;
|
||||
@Name("Allow Schalker to spawn?")
|
||||
public static boolean Schalker_spawn = true;
|
||||
@Name("Allow Smava Creeper to spawn?")
|
||||
public static boolean SmavaCreeper_spawn = true;
|
||||
@Name("Allow MZTEWolf to spawn?")
|
||||
public static boolean MZTEWolf_spawn = true;
|
||||
@Name("Allow Gisela to spawn?")
|
||||
public static boolean Gisela_spawn = true;
|
||||
@Name("Allow tilera Ghast to spawn?")
|
||||
public static boolean tileraGhast_spawn = true;
|
||||
@Config.Comment("Spawn Switches")
|
||||
@LangKey("spackenmobs.config.spawn_switches")
|
||||
public static SpawnSwitches spawn_switches = new SpawnSwitches();
|
||||
|
||||
@Name("ApoRed spawn weight:")
|
||||
public static int ApoRed_weight = 10;
|
||||
@Name("ApoRed min group size:")
|
||||
public static int ApoRed_min = 1;
|
||||
@Name("ApoRed max group size:")
|
||||
public static int ApoRed_max = 1;
|
||||
@Name("Baka Mitai Creeper spawn weight:")
|
||||
public static int BakaMitaiCreeper_weight = 10;
|
||||
@Name("Baka Mitai Creeper min group size:")
|
||||
public static int BakaMitaiCreeper_min = 1;
|
||||
@Name("Baka Mitai Creeper max group size:")
|
||||
public static int BakaMitaiCreeper_max = 1;
|
||||
@Name("Drachenlord spawn weight:")
|
||||
public static int Drachenlord_weight = 10;
|
||||
@Name("Drachenlord min group size:")
|
||||
public static int Drachenlord_min = 1;
|
||||
@Name("Drachenlord max group size:")
|
||||
public static int Drachenlord_max = 1;
|
||||
@Name("Friedrich Liechtenstein spawn weight:")
|
||||
public static int Friedrich_weight = 10;
|
||||
@Name("Friedrich Liechtenstein min group size:")
|
||||
public static int Friedrich_min = 1;
|
||||
@Name("Friedrich Liechtenstein max group size:")
|
||||
public static int Friedrich_max = 1;
|
||||
@Name("Holzstammhuhn spawn weight:")
|
||||
public static int Holzstammhuhn_weight = 10;
|
||||
@Name("Holzstammhuhn min group size:")
|
||||
public static int Holzstammhuhn_min = 1;
|
||||
@Name("Holzstammhuhn max group size:")
|
||||
public static int Holzstammhuhn_max = 1;
|
||||
@Name("Islamist spawn weight:")
|
||||
public static int Islamist_weight = 10;
|
||||
@Name("Islamist min group size:")
|
||||
public static int Islamist_min = 1;
|
||||
@Name("Islamist max group size:")
|
||||
public static int Islamist_max = 1;
|
||||
@Name("Jens spawn weight:")
|
||||
public static int Jens_weight = 10;
|
||||
@Name("Jens min group size:")
|
||||
public static int Jens_min = 1;
|
||||
@Name("Jens max group size:")
|
||||
public static int Jens_max = 1;
|
||||
@Name("Marcell D'Avis spawn weight:")
|
||||
public static int MarcellDAvis_weight = 10;
|
||||
@Name("Marcell D'Avis min group size:")
|
||||
public static int MarcellDAvis_min = 1;
|
||||
@Name("Marcell D'Avis max group size:")
|
||||
public static int MarcellDAvis_max = 1;
|
||||
@Name("Mr. Bean spawn weight:")
|
||||
public static int MrBean_weight = 10;
|
||||
@Name("Mr. Bean min group size:")
|
||||
public static int MrBean_min = 1;
|
||||
@Name("Mr. Bean max group size:")
|
||||
public static int MrBean_max = 1;
|
||||
@Name("Schalker spawn weight:")
|
||||
public static int Schalker_weight = 10;
|
||||
@Name("Schalker min group size:")
|
||||
public static int Schalker_min = 1;
|
||||
@Name("Schalker max group size:")
|
||||
public static int Schalker_max = 1;
|
||||
@Name("Smava Creeper spawn weight:")
|
||||
public static int SmavaCreeper_weight = 10;
|
||||
@Name("Smava Creeper min group size:")
|
||||
public static int SmavaCreeper_min = 1;
|
||||
@Name("Smava Creeper max group size:")
|
||||
public static int SmavaCreeper_max = 1;
|
||||
@Name("MZTEWolf spawn weight:")
|
||||
public static int MZTEWolf_weight = 10;
|
||||
@Name("MZTEWolf min group size:")
|
||||
public static int MZTEWolf_min = 1;
|
||||
@Name("MZTEWolf max group size:")
|
||||
public static int MZTEWolf_max = 1;
|
||||
@Name("Gisela spawn weight:")
|
||||
public static int Gisela_weight = 10;
|
||||
@Name("Gisela min group size:")
|
||||
public static int Gisela_min = 1;
|
||||
@Name("Gisela max group size:")
|
||||
public static int Gisela_max = 1;
|
||||
@Name("tilera Ghast spawn weight:")
|
||||
public static int tileraGhast_weight = 10;
|
||||
@Name("tilera Ghast min group size:")
|
||||
public static int tileraGhast_min = 1;
|
||||
@Name("tilera Ghast max group size:")
|
||||
public static int tileraGhast_max = 1;
|
||||
@Config.Comment("Spawn Values")
|
||||
@LangKey("spackenmobs.config.spawn_values")
|
||||
public static SpawnValues spawn_values = new SpawnValues();
|
||||
|
||||
@Name("Time in seconds Jens needs to digest:")
|
||||
public static int Jens_digest_time = 120;
|
||||
@Name("Maximum distance in blocks Jens can search:")
|
||||
public static int Jens_search_distance = 16;
|
||||
@Config.Comment("Misc")
|
||||
@LangKey("spackenmobs.config.misc")
|
||||
public static Misc misc = new Misc();
|
||||
|
||||
@EventBusSubscriber(modid = "spackenmobs")
|
||||
private static class EventHandler
|
||||
public static class SpawnSwitches
|
||||
{
|
||||
@Name("Allow ApoRed to spawn?")
|
||||
public boolean ApoRed_spawn = true;
|
||||
@Name("Allow Baka Mitai Creeper to spawn?")
|
||||
public boolean BakaMitaiCreeper_spawn = true;
|
||||
@Name("Allow Drachenlord to spawn?")
|
||||
public boolean Drachenlord_spawn = true;
|
||||
@Name("Allow Friedrich Liechtenstein to spawn?")
|
||||
public boolean Friedrich_spawn = true;
|
||||
@Name("Allow Holzstammhuhn to spawn?")
|
||||
public boolean Holzstammhuhn_spawn = true;
|
||||
@Name("Allow Islamist to spawn?")
|
||||
public boolean Islamist_spawn = true;
|
||||
@Name("Allow Jens to spawn?")
|
||||
public boolean Jens_spawn = true;
|
||||
@Name("Allow Marcell D'Avis to spawn?")
|
||||
public boolean MarcellDAvis_spawn = true;
|
||||
@Name("Allow Mr. Bean to spawn?")
|
||||
public boolean MrBean_spawn = true;
|
||||
@Name("Allow Schalker to spawn?")
|
||||
public boolean Schalker_spawn = true;
|
||||
@Name("Allow Smava Creeper to spawn?")
|
||||
public boolean SmavaCreeper_spawn = true;
|
||||
@Name("Allow MZTEWolf to spawn?")
|
||||
public boolean MZTEWolf_spawn = true;
|
||||
@Name("Allow Gisela to spawn?")
|
||||
public boolean Gisela_spawn = true;
|
||||
@Name("Allow tilera Ghast to spawn?")
|
||||
public boolean tileraGhast_spawn = true;
|
||||
}
|
||||
|
||||
public static class SpawnValues
|
||||
{
|
||||
@Name("ApoRed spawn weight:")
|
||||
public int ApoRed_weight = 15;
|
||||
@Name("ApoRed min group size:")
|
||||
public int ApoRed_min = 1;
|
||||
@Name("ApoRed max group size:")
|
||||
public int ApoRed_max = 1;
|
||||
@Name("Baka Mitai Creeper spawn weight:")
|
||||
public int BakaMitaiCreeper_weight = 10;
|
||||
@Name("Baka Mitai Creeper min group size:")
|
||||
public int BakaMitaiCreeper_min = 1;
|
||||
@Name("Baka Mitai Creeper max group size:")
|
||||
public int BakaMitaiCreeper_max = 1;
|
||||
@Name("Drachenlord spawn weight:")
|
||||
public int Drachenlord_weight = 10;
|
||||
@Name("Drachenlord min group size:")
|
||||
public int Drachenlord_min = 1;
|
||||
@Name("Drachenlord max group size:")
|
||||
public int Drachenlord_max = 1;
|
||||
@Name("Friedrich Liechtenstein spawn weight:")
|
||||
public int Friedrich_weight = 10;
|
||||
@Name("Friedrich Liechtenstein min group size:")
|
||||
public int Friedrich_min = 1;
|
||||
@Name("Friedrich Liechtenstein max group size:")
|
||||
public int Friedrich_max = 1;
|
||||
@Name("Holzstammhuhn spawn weight:")
|
||||
public int Holzstammhuhn_weight = 10;
|
||||
@Name("Holzstammhuhn min group size:")
|
||||
public int Holzstammhuhn_min = 1;
|
||||
@Name("Holzstammhuhn max group size:")
|
||||
public int Holzstammhuhn_max = 1;
|
||||
@Name("Islamist spawn weight:")
|
||||
public int Islamist_weight = 15;
|
||||
@Name("Islamist min group size:")
|
||||
public int Islamist_min = 1;
|
||||
@Name("Islamist max group size:")
|
||||
public int Islamist_max = 1;
|
||||
@Name("Jens spawn weight:")
|
||||
public int Jens_weight = 10;
|
||||
@Name("Jens min group size:")
|
||||
public int Jens_min = 1;
|
||||
@Name("Jens max group size:")
|
||||
public int Jens_max = 1;
|
||||
@Name("Marcell D'Avis spawn weight:")
|
||||
public int MarcellDAvis_weight = 15;
|
||||
@Name("Marcell D'Avis min group size:")
|
||||
public int MarcellDAvis_min = 1;
|
||||
@Name("Marcell D'Avis max group size:")
|
||||
public int MarcellDAvis_max = 1;
|
||||
@Name("Mr. Bean spawn weight:")
|
||||
public int MrBean_weight = 15;
|
||||
@Name("Mr. Bean min group size:")
|
||||
public int MrBean_min = 1;
|
||||
@Name("Mr. Bean max group size:")
|
||||
public int MrBean_max = 1;
|
||||
@Name("Schalker spawn weight:")
|
||||
public int Schalker_weight = 10;
|
||||
@Name("Schalker min group size:")
|
||||
public int Schalker_min = 1;
|
||||
@Name("Schalker max group size:")
|
||||
public int Schalker_max = 1;
|
||||
@Name("Smava Creeper spawn weight:")
|
||||
public int SmavaCreeper_weight = 15;
|
||||
@Name("Smava Creeper min group size:")
|
||||
public int SmavaCreeper_min = 1;
|
||||
@Name("Smava Creeper max group size:")
|
||||
public int SmavaCreeper_max = 1;
|
||||
@Name("MZTEWolf spawn weight:")
|
||||
public int MZTEWolf_weight = 10;
|
||||
@Name("MZTEWolf min group size:")
|
||||
public int MZTEWolf_min = 1;
|
||||
@Name("MZTEWolf max group size:")
|
||||
public int MZTEWolf_max = 1;
|
||||
@Name("Gisela spawn weight:")
|
||||
public int Gisela_weight = 10;
|
||||
@Name("Gisela min group size:")
|
||||
public int Gisela_min = 1;
|
||||
@Name("Gisela max group size:")
|
||||
public int Gisela_max = 1;
|
||||
@Name("tilera Ghast spawn weight:")
|
||||
public int tileraGhast_weight = 10;
|
||||
@Name("tilera Ghast min group size:")
|
||||
public int tileraGhast_min = 1;
|
||||
@Name("tilera Ghast max group size:")
|
||||
public int tileraGhast_max = 1;
|
||||
}
|
||||
|
||||
public static class Misc
|
||||
{
|
||||
@Name("Time in seconds Jens needs to digest:")
|
||||
public int Jens_digest_time = 120;
|
||||
@Name("Maximum distance in blocks Jens can search:")
|
||||
public int Jens_search_distance = 16;
|
||||
}
|
||||
|
||||
@Mod.EventBusSubscriber(modid = Spackenmobs.MODID)
|
||||
public static class EventHandler
|
||||
{
|
||||
@SubscribeEvent
|
||||
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent event)
|
||||
public static void onConfigChanged(final ConfigChangedEvent.OnConfigChangedEvent event)
|
||||
{
|
||||
if (event.getModID().equals("spackenmobs"))
|
||||
if (event.getModID().equals(Spackenmobs.MODID))
|
||||
{
|
||||
ConfigManager.sync("spackenmobs", Config.Type.INSTANCE);
|
||||
ConfigManager.sync(Spackenmobs.MODID, Config.Type.INSTANCE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package mod.acgaming.spackenmobs.misc;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.entity.monster.*;
|
||||
import net.minecraft.entity.passive.*;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
|
@ -23,114 +25,198 @@ public class RegistryHandler
|
|||
@SubscribeEvent
|
||||
public static void registerEntities(Register<EntityEntry> event)
|
||||
{
|
||||
List<Biome> regularSpawning = Lists.newArrayList();
|
||||
for (Biome b : Biome.REGISTRY)
|
||||
{
|
||||
Set<BiomeDictionary.Type> types = BiomeDictionary.getTypes(b);
|
||||
if (!types.contains(BiomeDictionary.Type.WATER) || !types.contains(BiomeDictionary.Type.NETHER) || !types.contains(BiomeDictionary.Type.END))
|
||||
{
|
||||
regularSpawning.add(b);
|
||||
}
|
||||
}
|
||||
|
||||
int id = 1;
|
||||
|
||||
// Smava Creeper
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:smava_creeper"), EntitySmavaCreeper.class, "smava_creeper", id++, Spackenmobs.instance, 64, 1, true, 7649828, 11053224);
|
||||
if (ModConfigs.SmavaCreeper_spawn)
|
||||
if (ModConfigs.spawn_switches.SmavaCreeper_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntitySmavaCreeper.class, ModConfigs.SmavaCreeper_weight, ModConfigs.SmavaCreeper_min, ModConfigs.SmavaCreeper_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntitySmavaCreeper.class,
|
||||
ModConfigs.spawn_values.SmavaCreeper_weight,
|
||||
ModConfigs.spawn_values.SmavaCreeper_min,
|
||||
ModConfigs.spawn_values.SmavaCreeper_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Marcell D'Avis
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:marcell_davis"), EntityMarcellDAvis.class, "marcell_davis", id++, Spackenmobs.instance, 64, 1, true, 15759, 16777215);
|
||||
if (ModConfigs.MarcellDAvis_spawn)
|
||||
if (ModConfigs.spawn_switches.MarcellDAvis_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityMarcellDAvis.class, ModConfigs.MarcellDAvis_weight, ModConfigs.MarcellDAvis_min, ModConfigs.MarcellDAvis_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityMarcellDAvis.class,
|
||||
ModConfigs.spawn_values.MarcellDAvis_weight,
|
||||
ModConfigs.spawn_values.MarcellDAvis_min,
|
||||
ModConfigs.spawn_values.MarcellDAvis_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Islamist
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:islamist"), EntityIslamist.class, "islamist", id++, Spackenmobs.instance, 64, 1, true, 15263976, 15211548);
|
||||
if (ModConfigs.Islamist_spawn)
|
||||
if (ModConfigs.spawn_switches.Islamist_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityIslamist.class, ModConfigs.Islamist_weight, ModConfigs.Islamist_min, ModConfigs.Islamist_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityIslamist.class,
|
||||
ModConfigs.spawn_values.Islamist_weight,
|
||||
ModConfigs.spawn_values.Islamist_min,
|
||||
ModConfigs.spawn_values.Islamist_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// ApoRed
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:apored"), EntityApoRed.class, "apored", id++, Spackenmobs.instance, 64, 1, true, 2039583, 16711680);
|
||||
if (ModConfigs.ApoRed_spawn)
|
||||
if (ModConfigs.spawn_switches.ApoRed_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityApoRed.class, ModConfigs.ApoRed_weight, ModConfigs.ApoRed_min, ModConfigs.ApoRed_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntitySkeleton.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityApoRed.class,
|
||||
ModConfigs.spawn_values.ApoRed_weight,
|
||||
ModConfigs.spawn_values.ApoRed_min,
|
||||
ModConfigs.spawn_values.ApoRed_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Mr. Bean
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mr_bean"), EntityMrBean.class, "mr_bean", id++, Spackenmobs.instance, 64, 1, true, 4802350, 3220238);
|
||||
if (ModConfigs.MrBean_spawn)
|
||||
if (ModConfigs.spawn_switches.MrBean_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityMrBean.class, ModConfigs.MrBean_weight, ModConfigs.MrBean_min, ModConfigs.MrBean_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityZombie.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityMrBean.class,
|
||||
ModConfigs.spawn_values.MrBean_weight,
|
||||
ModConfigs.spawn_values.MrBean_min,
|
||||
ModConfigs.spawn_values.MrBean_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Drachenlord
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:drachenlord"), EntityDrachenlord.class, "drachenlord", id++, Spackenmobs.instance, 64, 1, true, 15256745, 8738878);
|
||||
if (ModConfigs.Drachenlord_spawn)
|
||||
if (ModConfigs.spawn_switches.Drachenlord_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityDrachenlord.class, ModConfigs.Drachenlord_weight, ModConfigs.Drachenlord_min, ModConfigs.Drachenlord_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityPigZombie.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityDrachenlord.class,
|
||||
ModConfigs.spawn_values.Drachenlord_weight,
|
||||
ModConfigs.spawn_values.Drachenlord_min,
|
||||
ModConfigs.spawn_values.Drachenlord_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
BiomeDictionary.getBiomes(BiomeDictionary.Type.NETHER).toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Schalker
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:schalker"), EntitySchalker.class, "schalker", id++, Spackenmobs.instance, 64, 1, true, 24745, 16777215);
|
||||
if (ModConfigs.Schalker_spawn)
|
||||
if (ModConfigs.spawn_switches.Schalker_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntitySchalker.class, ModConfigs.Schalker_weight, ModConfigs.Schalker_min, ModConfigs.Schalker_max, EnumCreatureType.MONSTER,
|
||||
EntityRegistry.addSpawn(
|
||||
EntitySchalker.class,
|
||||
ModConfigs.spawn_values.Schalker_weight,
|
||||
ModConfigs.spawn_values.Schalker_min,
|
||||
ModConfigs.spawn_values.Schalker_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
BiomeDictionary.getBiomes(BiomeDictionary.Type.END).toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Jens
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:jens"), EntityJens.class, "jens", id++, Spackenmobs.instance, 64, 1, true, 6704526, 6767911);
|
||||
if (ModConfigs.Jens_spawn)
|
||||
if (ModConfigs.spawn_switches.Jens_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityJens.class, ModConfigs.Jens_weight, ModConfigs.Jens_min, ModConfigs.Jens_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityPig.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityJens.class,
|
||||
ModConfigs.spawn_values.Jens_weight,
|
||||
ModConfigs.spawn_values.Jens_min,
|
||||
ModConfigs.spawn_values.Jens_max,
|
||||
EnumCreatureType.CREATURE,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// MZTEWolf
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:mztewolf"), EntityMZTEWolf.class, "mztewolf", id++, Spackenmobs.instance, 64, 1, true, 16711680, 0);
|
||||
if (ModConfigs.MZTEWolf_spawn)
|
||||
if (ModConfigs.spawn_switches.MZTEWolf_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityMZTEWolf.class, ModConfigs.MZTEWolf_weight, ModConfigs.MZTEWolf_min, ModConfigs.MZTEWolf_max, EnumCreatureType.CREATURE,
|
||||
BiomeHelper.getBiomesWithCreature(EntityWolf.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityMZTEWolf.class,
|
||||
ModConfigs.spawn_values.MZTEWolf_weight,
|
||||
ModConfigs.spawn_values.MZTEWolf_min,
|
||||
ModConfigs.spawn_values.MZTEWolf_max,
|
||||
EnumCreatureType.CREATURE,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Holzstammhuhn
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:holzstammhuhn"), EntityHolzstammhuhn.class, "holzstammhuhn", id++, Spackenmobs.instance, 64, 1, true, 12096347, 5295899);
|
||||
if (ModConfigs.Holzstammhuhn_spawn)
|
||||
if (ModConfigs.spawn_switches.Holzstammhuhn_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityHolzstammhuhn.class, ModConfigs.Holzstammhuhn_weight, ModConfigs.Holzstammhuhn_min, ModConfigs.Holzstammhuhn_max, EnumCreatureType.CREATURE,
|
||||
BiomeHelper.getBiomesWithCreature(EntityChicken.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityHolzstammhuhn.class,
|
||||
ModConfigs.spawn_values.Holzstammhuhn_weight,
|
||||
ModConfigs.spawn_values.Holzstammhuhn_min,
|
||||
ModConfigs.spawn_values.Holzstammhuhn_max,
|
||||
EnumCreatureType.CREATURE,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Baka Mitai Creeper
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:bakamitai_creeper"), EntityBakaMitaiCreeper.class, "bakamitai_creeper", id++, Spackenmobs.instance, 64, 1, true, 826890, 0);
|
||||
if (ModConfigs.BakaMitaiCreeper_spawn)
|
||||
if (ModConfigs.spawn_switches.BakaMitaiCreeper_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityBakaMitaiCreeper.class, ModConfigs.BakaMitaiCreeper_weight, ModConfigs.BakaMitaiCreeper_min, ModConfigs.BakaMitaiCreeper_max, EnumCreatureType.MONSTER,
|
||||
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityBakaMitaiCreeper.class,
|
||||
ModConfigs.spawn_values.BakaMitaiCreeper_weight,
|
||||
ModConfigs.spawn_values.BakaMitaiCreeper_min,
|
||||
ModConfigs.spawn_values.BakaMitaiCreeper_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Friedrich Liechtenstein
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:friedrich"), EntityFriedrichLiechtenstein.class, "friedrich", id++, Spackenmobs.instance, 64, 1, true, 16447728, 15878595);
|
||||
if (ModConfigs.Friedrich_spawn)
|
||||
if (ModConfigs.spawn_switches.Friedrich_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityFriedrichLiechtenstein.class, ModConfigs.Friedrich_weight, ModConfigs.Friedrich_min, ModConfigs.Friedrich_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityCow.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityFriedrichLiechtenstein.class,
|
||||
ModConfigs.spawn_values.Friedrich_weight,
|
||||
ModConfigs.spawn_values.Friedrich_min,
|
||||
ModConfigs.spawn_values.Friedrich_max,
|
||||
EnumCreatureType.CREATURE,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// Gisela
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:gisela"), EntityGisela.class, "gisela", id++, Spackenmobs.instance, 64, 1, true, 39835, 16448250);
|
||||
if (ModConfigs.Gisela_spawn)
|
||||
if (ModConfigs.spawn_switches.Gisela_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityGisela.class, ModConfigs.Gisela_weight, ModConfigs.Gisela_min, ModConfigs.Gisela_max, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithCreature(EntitySheep.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityGisela.class,
|
||||
ModConfigs.spawn_values.Gisela_weight,
|
||||
ModConfigs.spawn_values.Gisela_min,
|
||||
ModConfigs.spawn_values.Gisela_max,
|
||||
EnumCreatureType.CREATURE,
|
||||
regularSpawning.toArray(new Biome[0]));
|
||||
}
|
||||
|
||||
// tilera Ghast
|
||||
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:tilera_ghast"), EntityTileraGhast.class, "tilera_ghast", id++, Spackenmobs.instance, 64, 1, true, 16447728, 15878595);
|
||||
if (ModConfigs.tileraGhast_spawn)
|
||||
if (ModConfigs.spawn_switches.tileraGhast_spawn)
|
||||
{
|
||||
EntityRegistry.addSpawn(EntityTileraGhast.class, ModConfigs.tileraGhast_weight, ModConfigs.tileraGhast_min, ModConfigs.tileraGhast_max, EnumCreatureType.MONSTER, BiomeHelper.getBiomesWithMonster(EntityGhast.class));
|
||||
EntityRegistry.addSpawn(
|
||||
EntityTileraGhast.class,
|
||||
ModConfigs.spawn_values.tileraGhast_weight,
|
||||
ModConfigs.spawn_values.tileraGhast_min,
|
||||
ModConfigs.spawn_values.tileraGhast_max,
|
||||
EnumCreatureType.MONSTER,
|
||||
BiomeDictionary.getBiomes(BiomeDictionary.Type.NETHER).toArray(new Biome[0]));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,4 +31,7 @@ item.ram.name=RAM
|
|||
item.ram_on_a_stick.name=RAM-Rute
|
||||
item.surstroemming.name=Surströmming
|
||||
itemGroup.spackenmobs=Spackenmobs
|
||||
spackenmobs.config.title=Spackenmobs-Einstellungen
|
||||
spackenmobs.config.title=Spackenmobs-Einstellungen
|
||||
spackenmobs.config.spawn_switches=Spawnschalter
|
||||
spackenmobs.config.spawn_values=Spawnwerte
|
||||
spackenmobs.config.misc=Sonstiges
|
|
@ -31,4 +31,7 @@ item.ram.name=RAM
|
|||
item.ram_on_a_stick.name=RAM on a Stick
|
||||
item.surstroemming.name=Surströmming
|
||||
itemGroup.spackenmobs=Spackenmobs
|
||||
spackenmobs.config.title=Spackenmobs Settings
|
||||
spackenmobs.config.title=Spackenmobs Settings
|
||||
spackenmobs.config.spawn_switches=Spawn Switches
|
||||
spackenmobs.config.spawn_values=Spawn Values
|
||||
spackenmobs.config.misc=Miscellaneous
|
|
@ -487,6 +487,9 @@
|
|||
},
|
||||
{
|
||||
"name": "spackenmobs:apored/hurt19"
|
||||
},
|
||||
{
|
||||
"name": "spackenmobs:apored/hurt20"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
BIN
src/main/resources/assets/spackenmobs/sounds/apored/hurt20.ogg
Normal file
BIN
src/main/resources/assets/spackenmobs/sounds/apored/hurt20.ogg
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in a new issue