diff --git a/src/main/java/its_meow/betteranimalsplus/common/entity/ai/EntityAIEatGrassCustom.java b/src/main/java/its_meow/betteranimalsplus/common/entity/ai/EntityAIEatGrassCustom.java index 85b15e84..159be6dc 100644 --- a/src/main/java/its_meow/betteranimalsplus/common/entity/ai/EntityAIEatGrassCustom.java +++ b/src/main/java/its_meow/betteranimalsplus/common/entity/ai/EntityAIEatGrassCustom.java @@ -2,8 +2,7 @@ import java.util.EnumSet; import java.util.function.Function; - -import com.google.common.base.Predicate; +import java.util.function.Predicate; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -16,8 +15,6 @@ public class EntityAIEatGrassCustom extends Goal { - // wtf jvm - @SuppressWarnings("unchecked") private static final Predicate IS_GRASS = (Predicate) BlockStateMatcher.forBlock(Blocks.GRASS); protected final MobEntity eater; protected final World world; @@ -39,25 +36,29 @@ public EntityAIEatGrassCustom(MobEntity eater, int childChance, int adultChance, this.setMutexFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK, Goal.Flag.JUMP)); } + @Override public boolean shouldExecute() { if(this.eater.getRNG().nextInt(this.eater.isChild() ? childChance : adultChance) != 0) { return false; } else { BlockPos blockpos = getPosition.apply(eater); - return IS_GRASS.apply(this.world.getBlockState(blockpos)) || this.world.getBlockState(blockpos.down()).getBlock() == Blocks.GRASS; + return IS_GRASS.test(this.world.getBlockState(blockpos)) || this.world.getBlockState(blockpos.down()).getBlock() == Blocks.GRASS; } } + @Override public void startExecuting() { this.eatingGrassTimer = 40; this.world.setEntityState(this.eater, (byte) 10); this.eater.getNavigator().clearPath(); } + @Override public void resetTask() { this.eatingGrassTimer = 0; } + @Override public boolean shouldContinueExecuting() { return this.eatingGrassTimer > 0; } @@ -66,11 +67,12 @@ public int getEatingGrassTimer() { return this.eatingGrassTimer; } - public void updateTask() { + @Override + public void tick() { this.eatingGrassTimer = Math.max(0, this.eatingGrassTimer - 1); if(this.eatingGrassTimer == 4) { BlockPos blockpos = this.getPosition.apply(eater); - if(IS_GRASS.apply(this.world.getBlockState(blockpos))) { + if(IS_GRASS.test(this.world.getBlockState(blockpos))) { if(net.minecraftforge.event.ForgeEventFactory.getMobGriefingEvent(this.world, this.eater)) { this.world.destroyBlock(blockpos, false); } diff --git a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead.json b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead.json index 40283085..88c610bf 100644 --- a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead.json +++ b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead.json @@ -1,9 +1,9 @@ { "variants": { - "facing=east": { "model": "minecraft:soul_sand" }, - "facing=west": { "model": "minecraft:soul_sand" }, - "facing=north": { "model": "minecraft:soul_sand" }, - "facing=south": { "model": "minecraft:soul_sand" }, - "facing=up": { "model": "minecraft:soul_sand" } + "facing=east": { "model": "minecraft:block/soul_sand" }, + "facing=west": { "model": "minecraft:block/soul_sand" }, + "facing=north": { "model": "minecraft:block/soul_sand" }, + "facing=south": { "model": "minecraft:block/soul_sand" }, + "facing=up": { "model": "minecraft:block/soul_sand" } } } \ No newline at end of file diff --git a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_1.json b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_1.json index 40283085..88c610bf 100644 --- a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_1.json +++ b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_1.json @@ -1,9 +1,9 @@ { "variants": { - "facing=east": { "model": "minecraft:soul_sand" }, - "facing=west": { "model": "minecraft:soul_sand" }, - "facing=north": { "model": "minecraft:soul_sand" }, - "facing=south": { "model": "minecraft:soul_sand" }, - "facing=up": { "model": "minecraft:soul_sand" } + "facing=east": { "model": "minecraft:block/soul_sand" }, + "facing=west": { "model": "minecraft:block/soul_sand" }, + "facing=north": { "model": "minecraft:block/soul_sand" }, + "facing=south": { "model": "minecraft:block/soul_sand" }, + "facing=up": { "model": "minecraft:block/soul_sand" } } } \ No newline at end of file diff --git a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_2.json b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_2.json index 40283085..88c610bf 100644 --- a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_2.json +++ b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_2.json @@ -1,9 +1,9 @@ { "variants": { - "facing=east": { "model": "minecraft:soul_sand" }, - "facing=west": { "model": "minecraft:soul_sand" }, - "facing=north": { "model": "minecraft:soul_sand" }, - "facing=south": { "model": "minecraft:soul_sand" }, - "facing=up": { "model": "minecraft:soul_sand" } + "facing=east": { "model": "minecraft:block/soul_sand" }, + "facing=west": { "model": "minecraft:block/soul_sand" }, + "facing=north": { "model": "minecraft:block/soul_sand" }, + "facing=south": { "model": "minecraft:block/soul_sand" }, + "facing=up": { "model": "minecraft:block/soul_sand" } } } \ No newline at end of file diff --git a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_3.json b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_3.json index 40283085..88c610bf 100644 --- a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_3.json +++ b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_3.json @@ -1,9 +1,9 @@ { "variants": { - "facing=east": { "model": "minecraft:soul_sand" }, - "facing=west": { "model": "minecraft:soul_sand" }, - "facing=north": { "model": "minecraft:soul_sand" }, - "facing=south": { "model": "minecraft:soul_sand" }, - "facing=up": { "model": "minecraft:soul_sand" } + "facing=east": { "model": "minecraft:block/soul_sand" }, + "facing=west": { "model": "minecraft:block/soul_sand" }, + "facing=north": { "model": "minecraft:block/soul_sand" }, + "facing=south": { "model": "minecraft:block/soul_sand" }, + "facing=up": { "model": "minecraft:block/soul_sand" } } } \ No newline at end of file diff --git a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_4.json b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_4.json index 40283085..88c610bf 100644 --- a/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_4.json +++ b/src/main/resources/assets/betteranimalsplus/blockstates/moosehead_4.json @@ -1,9 +1,9 @@ { "variants": { - "facing=east": { "model": "minecraft:soul_sand" }, - "facing=west": { "model": "minecraft:soul_sand" }, - "facing=north": { "model": "minecraft:soul_sand" }, - "facing=south": { "model": "minecraft:soul_sand" }, - "facing=up": { "model": "minecraft:soul_sand" } + "facing=east": { "model": "minecraft:block/soul_sand" }, + "facing=west": { "model": "minecraft:block/soul_sand" }, + "facing=north": { "model": "minecraft:block/soul_sand" }, + "facing=south": { "model": "minecraft:block/soul_sand" }, + "facing=up": { "model": "minecraft:block/soul_sand" } } } \ No newline at end of file diff --git a/src/main/resources/assets/betteranimalsplus/models/item/moose_spawn_egg.json b/src/main/resources/assets/betteranimalsplus/models/item/moose_spawn_egg.json new file mode 100644 index 00000000..912b2016 --- /dev/null +++ b/src/main/resources/assets/betteranimalsplus/models/item/moose_spawn_egg.json @@ -0,0 +1,3 @@ +{ + "parent": "item/template_spawn_egg" +} \ No newline at end of file diff --git a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirschgeistskull_1.json b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirschgeistskull_1.json new file mode 100644 index 00000000..7b8bf507 --- /dev/null +++ b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirschgeistskull_1.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "betteranimalsplus:hirschgeistskull_1" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirshgeistskull_1.json b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_1.json similarity index 82% rename from src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirshgeistskull_1.json rename to src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_1.json index c891c7e3..f34fafa0 100644 --- a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/hirshgeistskull_1.json +++ b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_1.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "betteranimalsplus:hirshgeistskull_1" + "name": "betteranimalsplus:moosehead_1" } ], "conditions": [ diff --git a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_2.json b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_2.json new file mode 100644 index 00000000..7134dcd8 --- /dev/null +++ b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_2.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "betteranimalsplus:moosehead_2" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_3.json b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_3.json new file mode 100644 index 00000000..065c011a --- /dev/null +++ b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_3.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "betteranimalsplus:moosehead_3" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_4.json b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_4.json new file mode 100644 index 00000000..5855f583 --- /dev/null +++ b/src/main/resources/data/betteranimalsplus/loot_tables/blocks/moosehead_4.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "betteranimalsplus:moosehead_4" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file