diff --git a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java index 77382814..4cd48ca9 100644 --- a/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java +++ b/src/main/java/ru/betterend/blocks/complex/StoneMaterial.java @@ -12,7 +12,7 @@ import ru.betterend.blocks.basis.BlockPillar; import ru.betterend.blocks.basis.BlockSlab; import ru.betterend.blocks.basis.BlockStairs; import ru.betterend.blocks.basis.BlockStoneButton; -import ru.betterend.blocks.basis.BlockStoneLantern; +//import ru.betterend.blocks.basis.BlockStoneLantern; import ru.betterend.blocks.basis.BlockStonePressurePlate; import ru.betterend.blocks.basis.BlockWall; import ru.betterend.recipe.CraftingRecipes; @@ -33,7 +33,7 @@ public class StoneMaterial { public final Block button; public final Block pressure_plate; public final Block pedestal; - public final Block lantern; + //public final Block lantern; public final Block bricks; public final Block brick_stairs; @@ -53,7 +53,7 @@ public class StoneMaterial { button = EndBlocks.registerBlock(name + "_button", new BlockStoneButton(stone)); pressure_plate = EndBlocks.registerBlock(name + "_plate", new BlockStonePressurePlate(stone)); pedestal = EndBlocks.registerBlock(name + "_pedestal", new EndPedestal(stone)); - lantern = EndBlocks.registerBlock(name + "_lantern", new BlockStoneLantern(stone)); + //lantern = EndBlocks.registerBlock(name + "_lantern", new BlockStoneLantern(stone)); bricks = EndBlocks.registerBlock(name + "_bricks", new BlockBase(material)); brick_stairs = EndBlocks.registerBlock(name + "_bricks_stairs", new BlockStairs(bricks)); @@ -76,7 +76,7 @@ public class StoneMaterial { GridRecipe.make(name + "_button", button).setList("#").addMaterial('#', stone).setGroup("end_stone_buttons").build(); GridRecipe.make(name + "_pressure_plate", pressure_plate).setShape("##").addMaterial('#', stone).setGroup("end_stone_plates").build(); - GridRecipe.make(name + "_lantern", lantern).setShape("S", "#", "S").addMaterial('#', EndItems.CRYSTAL_SHARDS).addMaterial('S', slab, brick_slab).setGroup("end_stone_lanterns").build(); + //GridRecipe.make(name + "_lantern", lantern).setShape("S", "#", "S").addMaterial('#', EndItems.CRYSTAL_SHARDS).addMaterial('S', slab, brick_slab).setGroup("end_stone_lanterns").build(); CraftingRecipes.registerPedestal(name + "_pedestal", pedestal, slab, pillar); diff --git a/src/main/java/ru/betterend/recipe/CraftingRecipes.java b/src/main/java/ru/betterend/recipe/CraftingRecipes.java index 23b2453e..b9e4efb5 100644 --- a/src/main/java/ru/betterend/recipe/CraftingRecipes.java +++ b/src/main/java/ru/betterend/recipe/CraftingRecipes.java @@ -103,7 +103,7 @@ public class CraftingRecipes { GridRecipe.make("shadow_berry_seeds", EndBlocks.SHADOW_BERRY).setList("#").setOutputCount(4).addMaterial('#', EndItems.SHADOW_BERRY_RAW).build(); GridRecipe.make("purple_polypore_dye", Items.PURPLE_DYE).setList("#").addMaterial('#', EndBlocks.PURPLE_POLYPORE).build(); - GridRecipe.make("end_stone_lantern", EndBlocks.LANTERN_END_STONE).setShape("S", "#", "S").addMaterial('#', EndItems.CRYSTAL_SHARDS).addMaterial('S', Blocks.END_STONE_BRICK_SLAB).setGroup("end_stone_lanterns").build(); + //GridRecipe.make("end_stone_lantern", EndBlocks.LANTERN_END_STONE).setShape("S", "#", "S").addMaterial('#', EndItems.CRYSTAL_SHARDS).addMaterial('S', Blocks.END_STONE_BRICK_SLAB).setGroup("end_stone_lanterns").build(); } public static void registerPedestal(String name, Block pedestal, Block slab, Block pillar) { diff --git a/src/main/java/ru/betterend/recipe/builders/InfusionRecipe.java b/src/main/java/ru/betterend/recipe/builders/InfusionRecipe.java index 675e6841..2560af1b 100644 --- a/src/main/java/ru/betterend/recipe/builders/InfusionRecipe.java +++ b/src/main/java/ru/betterend/recipe/builders/InfusionRecipe.java @@ -217,16 +217,37 @@ public class InfusionRecipe implements Recipe { public InfusionRecipe fromTag(CompoundTag tag) { Identifier id = new Identifier(tag.getString("id")); InfusionRecipe recipe = new InfusionRecipe(id); - + CompoundSerializer inputSerializer = this.toSerializer(recipe.input); + recipe.input = inputSerializer.fromTag(tag.getCompound("input")); + recipe.output = ItemStack.fromTag(tag.getCompound("output")); + recipe.time = tag.getInt("time"); + CompoundTag catalysts = tag.getCompound("catalysts"); + for(int i = 0; i < recipe.catalysts.length; i++) { + String key = Integer.toString(i); + CompoundSerializer cataSerializer = this.toSerializer(recipe.catalysts[i]); + recipe.catalysts[i] = cataSerializer.fromTag(catalysts.getCompound(key)); + } return recipe; } public CompoundTag toTag(InfusionRecipe recipe, CompoundTag tag) { - CompoundSerializer inputSerializer = CompoundSerializer.class.cast(recipe.input); + CompoundSerializer inputSerializer = this.toSerializer(recipe.input); tag.put("input", inputSerializer.toTag(new CompoundTag())); tag.put("output", recipe.output.toTag(new CompoundTag())); - + tag.putInt("time", recipe.time); + CompoundTag catalysts = new CompoundTag(); + for(int i = 0; i < recipe.catalysts.length; i++) { + String key = Integer.toString(i); + CompoundSerializer cataSerializer = this.toSerializer(recipe.catalysts[i]); + catalysts.put(key, cataSerializer.toTag(new CompoundTag())); + } + tag.put("catalysts", catalysts); return tag; } + + @SuppressWarnings("unchecked") + private CompoundSerializer toSerializer(Ingredient ingredient) { + return CompoundSerializer.class.cast(ingredient); + } } } diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index 9ac89e8e..1405b49c 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -51,7 +51,7 @@ import ru.betterend.blocks.basis.BlockGlowingFur; import ru.betterend.blocks.basis.BlockLeaves; import ru.betterend.blocks.basis.BlockOre; import ru.betterend.blocks.basis.BlockSimpleLeaves; -import ru.betterend.blocks.basis.BlockStoneLantern; +//import ru.betterend.blocks.basis.BlockStoneLantern; import ru.betterend.blocks.basis.BlockVine; import ru.betterend.blocks.basis.BlockWallMushroom; import ru.betterend.blocks.basis.BlockWallPlant; @@ -157,7 +157,7 @@ public class EndBlocks { public static final Block ENDER_BLOCK = registerBlock("ender_block", new EnderBlock()); public static final Block AURORA_CRYSTAL = registerBlock("aurora_crystal", new AuroraCrystalBlock()); - public static final Block LANTERN_END_STONE = registerBlock("lantern_end_stone", new BlockStoneLantern(Blocks.END_STONE)); + //public static final Block LANTERN_END_STONE = registerBlock("lantern_end_stone", new BlockStoneLantern(Blocks.END_STONE)); // Blocks With Entity // public static final Block END_STONE_SMELTER = registerBlock("end_stone_smelter", new EndStoneSmelter()); diff --git a/src/main/java/ru/betterend/registry/EndEntities.java b/src/main/java/ru/betterend/registry/EndEntities.java index 601d9fb5..b0c0ad26 100644 --- a/src/main/java/ru/betterend/registry/EndEntities.java +++ b/src/main/java/ru/betterend/registry/EndEntities.java @@ -15,7 +15,7 @@ import ru.betterend.BetterEnd; import ru.betterend.entity.EntityDragonfly; import ru.betterend.entity.EntityEndFish; import ru.betterend.entity.EntityEndSlime; -import ru.betterend.entity.EntityShadowWalker; +//import ru.betterend.entity.EntityShadowWalker; import ru.betterend.util.MHelper; import ru.betterend.util.SpawnHelper; @@ -23,12 +23,12 @@ public class EndEntities { public static final EntityType DRAGONFLY = register("dragonfly", SpawnGroup.AMBIENT, 0.6F, 0.5F, EntityDragonfly::new, EntityDragonfly.createMobAttributes(), true, MHelper.color(32, 42, 176), MHelper.color(115, 225, 249)); public static final EntityType END_SLIME = register("end_slime", SpawnGroup.MONSTER, 2F, 2F, EntityEndSlime::new, EntityEndSlime.createMobAttributes(), false, MHelper.color(28, 28, 28), MHelper.color(99, 11, 99)); public static final EntityType END_FISH = register("end_fish", SpawnGroup.WATER_AMBIENT, 0.5F, 0.5F, EntityEndFish::new, EntityEndFish.createMobAttributes(), true, MHelper.color(3, 50, 76), MHelper.color(120, 206, 255)); - public static final EntityType SHADOW_WALKER = register("shadow_walker", SpawnGroup.MONSTER, 0.6F, 1.95F, EntityShadowWalker::new, EntityShadowWalker.createMobAttributes(), true, MHelper.color(30, 30, 30), MHelper.color(5, 5, 5)); + //public static final EntityType SHADOW_WALKER = register("shadow_walker", SpawnGroup.MONSTER, 0.6F, 1.95F, EntityShadowWalker::new, EntityShadowWalker.createMobAttributes(), true, MHelper.color(30, 30, 30), MHelper.color(5, 5, 5)); public static void register() { SpawnHelper.restrictionLand(END_SLIME, EntityEndSlime::canSpawn); SpawnHelper.restrictionWater(END_FISH, EntityEndFish::canSpawn); - SpawnHelper.restrictionLand(SHADOW_WALKER, HostileEntity::canSpawnInDark); + //SpawnHelper.restrictionLand(SHADOW_WALKER, HostileEntity::canSpawnInDark); } protected static EntityType register(String name, SpawnGroup group, float width, float height, EntityFactory entity) { diff --git a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java index e72afbdf..8a36eaa6 100644 --- a/src/main/java/ru/betterend/registry/EndEntitiesRenders.java +++ b/src/main/java/ru/betterend/registry/EndEntitiesRenders.java @@ -6,7 +6,7 @@ import net.minecraft.entity.EntityType; import ru.betterend.entity.render.RendererEntityDragonfly; import ru.betterend.entity.render.RendererEntityEndFish; import ru.betterend.entity.render.RendererEntityEndSlime; -import ru.betterend.entity.render.RendererEntityShadowWalker; +//import ru.betterend.entity.render.RendererEntityShadowWalker; public class EndEntitiesRenders { @@ -14,7 +14,7 @@ public class EndEntitiesRenders { register(EndEntities.DRAGONFLY, RendererEntityDragonfly.class); register(EndEntities.END_SLIME, RendererEntityEndSlime.class); register(EndEntities.END_FISH, RendererEntityEndFish.class); - register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker.class); + //register(EndEntities.SHADOW_WALKER, RendererEntityShadowWalker.class); } private static void register(EntityType type, Class> renderer) { diff --git a/src/main/java/ru/betterend/world/biome/BiomeShadowForest.java b/src/main/java/ru/betterend/world/biome/BiomeShadowForest.java index 7d1816e9..27170f1e 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeShadowForest.java +++ b/src/main/java/ru/betterend/world/biome/BiomeShadowForest.java @@ -32,7 +32,7 @@ public class BiomeShadowForest extends EndBiome { .addFeature(EndFeatures.TAIL_MOSS) .addFeature(EndFeatures.TAIL_MOSS_WOOD) .addStructureFeature(ConfiguredStructureFeatures.END_CITY) - .addMobSpawn(EndEntities.SHADOW_WALKER, 80, 2, 4) + //.addMobSpawn(EndEntities.SHADOW_WALKER, 80, 2, 4) .addMobSpawn(EntityType.ENDERMAN, 40, 1, 4) .addMobSpawn(EntityType.PHANTOM, 1, 1, 2)); } diff --git a/src/main/resources/betterend.mixins.common.json b/src/main/resources/betterend.mixins.common.json index 9308e018..5a9f9124 100644 --- a/src/main/resources/betterend.mixins.common.json +++ b/src/main/resources/betterend.mixins.common.json @@ -26,6 +26,7 @@ "BoneMealItemMixin", "SlimeEntityMixin", "BrewingAccessor", + "IngredientMixin", "EntityMixin" ], "injectors": {