Friedrich Liechtenstein provides Ahoj-Brause

This commit is contained in:
ACGaming 2020-08-30 14:23:10 +02:00
parent 0ad2241949
commit 5d8cc3b20d
37 changed files with 447 additions and 76 deletions

View file

@ -0,0 +1,153 @@
package mod.acgaming.spackenmobs.entities;
import mod.acgaming.spackenmobs.misc.ModItems;
import mod.acgaming.spackenmobs.misc.ModLootTableList;
import mod.acgaming.spackenmobs.misc.ModSoundEvents;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.IMerchant;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.init.SoundEvents;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumHand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import net.minecraft.util.math.BlockPos;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
import net.minecraft.world.World;
public class EntityFriedrichLiechtenstein extends EntityCreature implements IMerchant
{
public EntityFriedrichLiechtenstein(World worldIn)
{
super(worldIn);
setSize(0.6F, 1.8F);
setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(ModItems.AHOJ_BRAUSE));
}
@Override
protected void initEntityAI()
{
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIMoveIndoors(this));
this.tasks.addTask(3, new EntityAIRestrictOpenDoor(this));
this.tasks.addTask(4, new EntityAIOpenDoor(this, true));
this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 0.6D));
this.tasks.addTask(9, new EntityAIWatchClosest2(this, EntityPlayer.class, 3.0F, 1.0F));
this.tasks.addTask(9, new EntityAIWanderAvoidWater(this, 0.6D));
this.tasks.addTask(10, new EntityAIWatchClosest(this, EntityLiving.class, 8.0F));
}
@Override
protected void applyEntityAttributes()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
}
@Override
public boolean processInteract(EntityPlayer player, EnumHand hand)
{
ItemStack itemstack = player.getHeldItem(hand);
if (itemstack.getItem() == Items.GLASS_BOTTLE)
{
player.playSound(ModSoundEvents.ENTITY_FRIEDRICH_DEATH, 1.0F, 1.0F);
player.playSound(SoundEvents.ENTITY_COW_MILK, 1.0F, 1.0F);
itemstack.shrink(1);
if (itemstack.isEmpty())
{
player.setHeldItem(hand, new ItemStack(ModItems.AHOJ_BRAUSE_DRINK));
}
else if (!player.inventory.addItemStackToInventory(new ItemStack(ModItems.AHOJ_BRAUSE_DRINK)))
{
player.dropItem(new ItemStack(ModItems.AHOJ_BRAUSE_DRINK), false);
}
return true;
}
else
{
return super.processInteract(player, hand);
}
}
@Override
protected ResourceLocation getLootTable()
{
return ModLootTableList.ENTITIES_FRIEDRICH;
}
@Override
protected SoundEvent getAmbientSound()
{
return ModSoundEvents.ENTITY_FRIEDRICH_AMBIENT;
}
@Override
protected SoundEvent getHurtSound(DamageSource damageSourceIn)
{
return ModSoundEvents.ENTITY_FRIEDRICH_HURT;
}
@Override
protected SoundEvent getDeathSound()
{
return ModSoundEvents.ENTITY_FRIEDRICH_DEATH;
}
@Override
public EntityPlayer getCustomer()
{
return null;
}
@Override
public void setCustomer(EntityPlayer player)
{
}
@Override
public MerchantRecipeList getRecipes(EntityPlayer player)
{
return null;
}
@Override
public void setRecipes(MerchantRecipeList recipeList)
{
}
@Override
public void useRecipe(MerchantRecipe recipe)
{
}
@Override
public void verifySellingItem(ItemStack stack)
{
}
@Override
public World getWorld()
{
return null;
}
@Override
public BlockPos getPos()
{
return null;
}
}

View file

@ -8,10 +8,10 @@ import net.minecraft.world.World;
public class EntityIslamist extends EntityCreeper
{
private int lastActiveTime;
private int timeSinceIgnited;
private final int fuseTime = 30;
private final int explosionRadius = 6;
private int lastActiveTime;
private int timeSinceIgnited;
public EntityIslamist(World worldIn)
{

View file

@ -11,7 +11,7 @@ public class EntityMarcellDAvis extends EntityZombie
public EntityMarcellDAvis(World worldIn)
{
super(worldIn);
this.setSize(0.6F, 1.95F);
this.setSize(0.6F, 1.8F);
}
@Override

View file

@ -11,7 +11,7 @@ public class EntityMrBean extends EntityZombie
public EntityMrBean(World worldIn)
{
super(worldIn);
this.setSize(0.6F, 1.95F);
this.setSize(0.6F, 1.8F);
}
@Override

View file

@ -9,10 +9,10 @@ import net.minecraft.world.World;
public class EntitySmavaCreeper extends EntityCreeper
{
private int lastActiveTime;
private int timeSinceIgnited;
private final int fuseTime = 20;
private final int explosionRadius = 6;
private int lastActiveTime;
private int timeSinceIgnited;
public EntitySmavaCreeper(World worldIn)
{

View file

@ -1,14 +0,0 @@
package mod.acgaming.spackenmobs.items;
import net.minecraft.potion.Potion;
public class ItemPotion extends Potion
{
public ItemPotion(String name, boolean isBadPotion, int color, int iconIndexX, int iconIndexY)
{
super(isBadPotion, color);
setPotionName("effect." + name);
setIconIndex(iconIndexX, iconIndexY);
setRegistryName(name);
}
}

View file

@ -1,20 +1,22 @@
package mod.acgaming.spackenmobs.items;
import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.misc.ModItems;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ItemBase extends Item
public class ModItemBase extends Item
{
public ItemBase(String name, CreativeTabs tab)
public ModItemBase(String name)
{
setUnlocalizedName(name);
setRegistryName(name);
setUnlocalizedName(Spackenmobs.MODID + "." + name);
setCreativeTab(tab);
setCreativeTab(Spackenmobs.SPACKENMOBS_TAB);
ModItems.ITEMS.add(this);
}
@SideOnly(Side.CLIENT)

View file

@ -0,0 +1,32 @@
package mod.acgaming.spackenmobs.items;
import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.misc.ModItems;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemFood;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
public class ModItemFoodBase extends ItemFood
{
public ModItemFoodBase(String name, int amount, float saturation, boolean isAnimalFood)
{
super(amount, saturation, isAnimalFood);
setUnlocalizedName(name);
setRegistryName(name);
setCreativeTab(Spackenmobs.SPACKENMOBS_TAB);
ModItems.ITEMS.add(this);
}
@SideOnly(Side.CLIENT)
public void initModel()
{
ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory"));
}
}

View file

@ -0,0 +1,37 @@
package mod.acgaming.spackenmobs.items;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.EnumAction;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class ModItemFoodDrink extends ModItemFoodBase
{
PotionEffect effect;
public ModItemFoodDrink(String name, int amount, float saturation, boolean isAnimalFood, PotionEffect effect)
{
super(name, amount, saturation, isAnimalFood);
setAlwaysEdible();
this.effect = effect;
}
@Override
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
if (!worldIn.isRemote)
{
player.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles()));
player.inventory.addItemStackToInventory(new ItemStack(Items.GLASS_BOTTLE));
}
}
@Override
public EnumAction getItemUseAction(ItemStack stack)
{
return EnumAction.DRINK;
}
}

View file

@ -0,0 +1,28 @@
package mod.acgaming.spackenmobs.items;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class ModItemFoodEffect extends ModItemFoodBase
{
PotionEffect effect;
public ModItemFoodEffect(String name, int amount, float saturation, boolean isAnimalFood, PotionEffect effect)
{
super(name, amount, saturation, isAnimalFood);
setAlwaysEdible();
this.effect = effect;
}
@Override
protected void onFoodEaten(ItemStack stack, World worldIn, EntityPlayer player)
{
if (!worldIn.isRemote)
{
player.addPotionEffect(new PotionEffect(effect.getPotion(), effect.getDuration(), effect.getAmplifier(), effect.getIsAmbient(), effect.doesShowParticles()));
}
}
}

View file

@ -18,6 +18,8 @@ public class ModConfigs
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?")
@ -52,6 +54,12 @@ public class ModConfigs
public static int Drachenlord_min = 1;
@Name("Drachenlord max group size:")
public static int Drachenlord_max = 4;
@Name("Friedrich Liechtenstein spawn probability:")
public static int Friedrich_weight = 25;
@Name("Friedrich Liechtenstein min group size:")
public static int Friedrich_min = 1;
@Name("Friedrich Liechtenstein max group size:")
public static int Friedrich_max = 4;
@Name("Holzstammhuhn spawn probability:")
public static int Holzstammhuhn_weight = 50;
@Name("Holzstammhuhn min group size:")

View file

@ -18,5 +18,6 @@ public class ModEntities
RenderingRegistry.registerEntityRenderingHandler(EntitySmavaCreeper.class, RenderSmavaCreeper.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityWolfMZTE.class, RenderWolfMZTE.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityHolzstammhuhn.class, RenderHolzstammhuhn.FACTORY);
RenderingRegistry.registerEntityRenderingHandler(EntityFriedrichLiechtenstein.class, RenderFriedrichLiechtenstein.FACTORY);
}
}

View file

@ -1,14 +1,22 @@
package mod.acgaming.spackenmobs.misc;
import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.items.ItemBase;
import mod.acgaming.spackenmobs.items.ModItemBase;
import mod.acgaming.spackenmobs.items.ModItemFoodDrink;
import mod.acgaming.spackenmobs.items.ModItemFoodEffect;
import net.minecraft.init.MobEffects;
import net.minecraft.item.Item;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
import net.minecraft.potion.PotionEffect;
import java.util.ArrayList;
import java.util.List;
@ObjectHolder(Spackenmobs.MODID)
public class ModItems
{
public static final Item RAM = new ItemBase("ram", Spackenmobs.SPACKENMOBS_TAB);
public static final Item RAM_ON_A_STICK = new ItemBase("ram_on_a_stick", Spackenmobs.SPACKENMOBS_TAB);
public static final Item SURSTROEMMING = new ItemBase("surstroemming", Spackenmobs.SPACKENMOBS_TAB);
public static final List<Item> ITEMS = new ArrayList<Item>();
public static final Item RAM = new ModItemBase("ram");
public static final Item RAM_ON_A_STICK = new ModItemBase("ram_on_a_stick");
public static final Item SURSTROEMMING = new ModItemBase("surstroemming");
public static final Item AHOJ_BRAUSE = new ModItemFoodEffect("ahoj_brause", 2, 0.15F, false, new PotionEffect(MobEffects.SPEED, 200, 5, false, true));
public static final Item AHOJ_BRAUSE_DRINK = new ModItemFoodDrink("ahoj_brause_drink", 4, 0.3F, false, new PotionEffect(MobEffects.SPEED, 400, 10, false, true));
}

View file

@ -5,7 +5,6 @@ import net.minecraft.util.ResourceLocation;
import net.minecraft.world.storage.loot.LootTable;
import net.minecraft.world.storage.loot.LootTableManager;
import java.io.File;
import java.util.Collections;
import java.util.Set;
@ -14,6 +13,7 @@ public class ModLootTableList
private static final Set<ResourceLocation> LOOT_TABLES = Sets.newHashSet();
public static final ResourceLocation EMPTY = register("empty");
public static final ResourceLocation ENTITIES_JENS = register("entities/jens");
public static final ResourceLocation ENTITIES_FRIEDRICH = register("entities/friedrich");
private static final Set<ResourceLocation> READ_ONLY_LOOT_TABLES = Collections.unmodifiableSet(LOOT_TABLES);
public static Set<ResourceLocation> getAll()

View file

@ -1,12 +0,0 @@
package mod.acgaming.spackenmobs.misc;
import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.items.ItemPotion;
import net.minecraft.potion.Potion;
import net.minecraftforge.fml.common.registry.GameRegistry.ObjectHolder;
@ObjectHolder(Spackenmobs.MODID)
public class ModPotions
{
public static final Potion SURSTROEMMING_DRINK = new ItemPotion("surstroemming_drink", true, 42, 0, 0);
}

View file

@ -48,4 +48,8 @@ public class ModSoundEvents
public static final SoundEvent ENTITY_BAKAMITAICREEPER_FUSE = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.fuse"));
public static final SoundEvent ENTITY_BAKAMITAICREEPER_BLOW = new SoundEvent(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.blow"));
public static final SoundEvent ENTITY_FRIEDRICH_AMBIENT = new SoundEvent(new ResourceLocation("spackenmobs:entities.friedrich.ambient"));
public static final SoundEvent ENTITY_FRIEDRICH_HURT = new SoundEvent(new ResourceLocation("spackenmobs:entities.friedrich.hurt"));
public static final SoundEvent ENTITY_FRIEDRICH_DEATH = new SoundEvent(new ResourceLocation("spackenmobs:entities.friedrich.death"));
}

View file

@ -1,24 +1,11 @@
package mod.acgaming.spackenmobs.misc;
import mod.acgaming.spackenmobs.Spackenmobs;
import mod.acgaming.spackenmobs.entities.EntityApoRed;
import mod.acgaming.spackenmobs.entities.EntityBakaMitaiCreeper;
import mod.acgaming.spackenmobs.entities.EntityDrachenlord;
import mod.acgaming.spackenmobs.entities.EntityHolzstammhuhn;
import mod.acgaming.spackenmobs.entities.EntityIslamist;
import mod.acgaming.spackenmobs.entities.EntityJens;
import mod.acgaming.spackenmobs.entities.EntityMarcellDAvis;
import mod.acgaming.spackenmobs.entities.EntityMrBean;
import mod.acgaming.spackenmobs.entities.EntitySchalker;
import mod.acgaming.spackenmobs.entities.EntitySmavaCreeper;
import mod.acgaming.spackenmobs.entities.EntityWolfMZTE;
import mod.acgaming.spackenmobs.entities.*;
import net.minecraft.entity.EnumCreatureType;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.entity.monster.EntityPigZombie;
import net.minecraft.entity.monster.EntityShulker;
import net.minecraft.entity.monster.EntitySkeleton;
import net.minecraft.entity.monster.EntityZombie;
import net.minecraft.entity.monster.*;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.entity.passive.EntityCow;
import net.minecraft.entity.passive.EntityPig;
import net.minecraft.entity.passive.EntityWolf;
import net.minecraft.item.Item;
@ -124,18 +111,19 @@ public class RegHandler
EntityRegistry.addSpawn(EntityBakaMitaiCreeper.class, ModConfigs.BakaMitaiCreeper_weight, ModConfigs.BakaMitaiCreeper_min, ModConfigs.BakaMitaiCreeper_max, EnumCreatureType.MONSTER,
BiomeHelper.getBiomesWithMonster(EntityCreeper.class));
}
// Friedrich Liechtenstein
EntityRegistry.registerModEntity(new ResourceLocation("spackenmobs:friedrich"), EntityFriedrichLiechtenstein.class, "friedrich", id++, Spackenmobs.instance, 64, 1, true, 16447728, 15878595);
if (ModConfigs.Friedrich_spawn == true)
{
EntityRegistry.addSpawn(EntityFriedrichLiechtenstein.class, ModConfigs.Friedrich_weight, ModConfigs.Friedrich_min, ModConfigs.Friedrich_max, EnumCreatureType.CREATURE, BiomeHelper.getBiomesWithCreature(EntityCow.class));
}
}
@SubscribeEvent
public static void registerItems(Register<Item> event)
{
final Item[] items =
{
new Item().setRegistryName(Spackenmobs.MODID, "ram").setUnlocalizedName(Spackenmobs.MODID + "." + "ram").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB),
new Item().setRegistryName(Spackenmobs.MODID, "ram_on_a_stick").setUnlocalizedName(Spackenmobs.MODID + "." + "ram_on_a_stick").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB),
new Item().setRegistryName(Spackenmobs.MODID, "surstroemming").setUnlocalizedName(Spackenmobs.MODID + "." + "surstroemming").setCreativeTab(Spackenmobs.SPACKENMOBS_TAB)
};
event.getRegistry().registerAll(items);
event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
}
@SubscribeEvent
@ -222,5 +210,13 @@ public class RegHandler
event.getRegistry().register(ModSoundEvents.ENTITY_BAKAMITAICREEPER_FUSE);
ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW.setRegistryName(new ResourceLocation("spackenmobs:entities.bakamitai_creeper.blow"));
event.getRegistry().register(ModSoundEvents.ENTITY_BAKAMITAICREEPER_BLOW);
// Friedrich Liechtenstein
ModSoundEvents.ENTITY_FRIEDRICH_AMBIENT.setRegistryName(new ResourceLocation("spackenmobs:entities.friedrich.ambient"));
event.getRegistry().register(ModSoundEvents.ENTITY_FRIEDRICH_AMBIENT);
ModSoundEvents.ENTITY_FRIEDRICH_HURT.setRegistryName(new ResourceLocation("spackenmobs:entities.friedrich.hurt"));
event.getRegistry().register(ModSoundEvents.ENTITY_FRIEDRICH_HURT);
ModSoundEvents.ENTITY_FRIEDRICH_DEATH.setRegistryName(new ResourceLocation("spackenmobs:entities.friedrich.death"));
event.getRegistry().register(ModSoundEvents.ENTITY_FRIEDRICH_DEATH);
}
}

View file

@ -18,6 +18,8 @@ public class RegHandlerModels
registerModel(ModItems.RAM, 0);
registerModel(ModItems.RAM_ON_A_STICK, 0);
registerModel(ModItems.SURSTROEMMING, 0);
registerModel(ModItems.AHOJ_BRAUSE, 0);
registerModel(ModItems.AHOJ_BRAUSE_DRINK, 0);
}
private static void registerModel(Item item, int meta)

View file

@ -0,0 +1,38 @@
package mod.acgaming.spackenmobs.render;
import mod.acgaming.spackenmobs.entities.EntityFriedrichLiechtenstein;
import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.client.registry.IRenderFactory;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
@SideOnly(Side.CLIENT)
public class RenderFriedrichLiechtenstein extends RenderBiped<EntityFriedrichLiechtenstein>
{
public static final Factory FACTORY = new Factory();
private static final ResourceLocation FRIEDRICH_TEXTURE = new ResourceLocation("spackenmobs:textures/entities/friedrich.png");
public RenderFriedrichLiechtenstein(RenderManager renderManagerIn)
{
super(renderManagerIn, new ModelBiped(), 0.25F);
}
@Override
protected ResourceLocation getEntityTexture(EntityFriedrichLiechtenstein entity)
{
return FRIEDRICH_TEXTURE;
}
private static class Factory implements IRenderFactory<EntityFriedrichLiechtenstein>
{
@Override
public Render<? super EntityFriedrichLiechtenstein> createRenderFor(RenderManager manager)
{
return new RenderFriedrichLiechtenstein(manager);
}
}
}

View file

@ -1,6 +1,7 @@
entity.apored.name=ApoRed
entity.bakamitai_creeper.name=Baka Mitai-Creeper
entity.drachenlord.name=Drachenlord
entity.friedrich.name=Friedrich Liechtenstein
entity.holzstammhuhn.name=Holzstammhuhn
entity.islamist.name=Islamist
entity.jens.name=Jens
@ -9,8 +10,10 @@ entity.mr_bean.name=Mr. Bean
entity.schalker.name=Schalker
entity.smava_creeper.name=Smava-Creeper
entity.wolfmzte.name=WolfMZTE
item.spackenmobs.ram.name=RAM
item.spackenmobs.ram_on_a_stick.name=RAM-Rute
item.spackenmobs.surstroemming.name=Surströmming
itemGroup.spackenmobs.tabSpackenmobs=Spackenmobs
item.ram.name=RAM
item.ram_on_a_stick.name=RAM-Rute
item.surstroemming.name=Surströmming
item.ahoj_brause.name=Ahoj-Brause
item.ahoj_brause_drink.name=Ahoj-Brause Brause
itemGroup.tabSpackenmobs=Spackenmobs
spackenmobs.config.title=Spackenmobs-Einstellungen

View file

@ -1,6 +1,7 @@
entity.apored.name=ApoRed
entity.bakamitai_creeper.name=Baka Mitai Creeper
entity.drachenlord.name=Drachenlord
entity.friedrich.name=Friedrich Liechtenstein
entity.holzstammhuhn.name=Holzstammhuhn
entity.islamist.name=Islamist
entity.jens.name=Jens
@ -9,8 +10,10 @@ entity.mr_bean.name=Mr. Bean
entity.schalker.name=Schalker
entity.smava_creeper.name=Smava Creeper
entity.wolfmzte.name=WolfMZTE
item.spackenmobs.ram.name=RAM
item.spackenmobs.ram_on_a_stick.name=RAM on a Stick
item.spackenmobs.surstroemming.name=Surströmming
itemGroup.spackenmobs.tabSpackenmobs=Spackenmobs
item.ram.name=RAM
item.ram_on_a_stick.name=RAM on a Stick
item.surstroemming.name=Surströmming
item.ahoj_brause.name=Ahoj-Brause
item.ahoj_brause_drink.name=Ahoj-Brause Soda
itemGroup.tabSpackenmobs=Spackenmobs
spackenmobs.config.title=Spackenmobs settings

View file

@ -0,0 +1,31 @@
{
"pools": [
{
"name": "friedrich",
"rolls": 1,
"entries": [
{
"type": "item",
"name": "spackenmobs:ahoj_brause",
"weight": 1,
"functions": [
{
"function": "set_count",
"count": {
"min": 1,
"max": 3
}
},
{
"function": "looting_enchant",
"count": {
"min": 0,
"max": 1
}
}
]
}
]
}
]
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "spackenmobs:items/ahoj_brause"
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "spackenmobs:items/ahoj_brause_drink"
}
}

View file

@ -906,5 +906,44 @@
"name": "spackenmobs:bakamitai_creeper/blow"
}
]
},
"entities.friedrich.ambient": {
"sounds": [
{
"name": "spackenmobs:friedrich/say1"
},
{
"name": "spackenmobs:friedrich/say2"
},
{
"name": "spackenmobs:friedrich/say3"
},
{
"name": "spackenmobs:friedrich/say4"
},
{
"name": "spackenmobs:friedrich/say5"
},
{
"name": "spackenmobs:friedrich/say6"
},
{
"name": "spackenmobs:friedrich/say7"
}
]
},
"entities.friedrich.death": {
"sounds": [
{
"name": "spackenmobs:friedrich/death"
}
]
},
"entities.friedrich.hurt": {
"sounds": [
{
"name": "spackenmobs:friedrich/hurt"
}
]
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB