diff --git a/src/main/java/electroblob/wizardry/block/BlockCrystal.java b/src/main/java/electroblob/wizardry/block/BlockCrystal.java index ff43ff8f..3a00c910 100644 --- a/src/main/java/electroblob/wizardry/block/BlockCrystal.java +++ b/src/main/java/electroblob/wizardry/block/BlockCrystal.java @@ -1,5 +1,6 @@ package electroblob.wizardry.block; +import electroblob.wizardry.api.IElemental; import electroblob.wizardry.constants.Element; import electroblob.wizardry.registry.WizardryTabs; import net.minecraft.block.Block; @@ -11,7 +12,7 @@ import net.minecraft.world.IBlockAccess; import java.util.EnumMap; -public class BlockCrystal extends Block { +public class BlockCrystal extends Block implements IElemental { private static final EnumMap map_colours = new EnumMap<>(Element.class); @@ -26,6 +27,9 @@ public class BlockCrystal extends Block { map_colours.put(Element.HEALING, MapColor.YELLOW); } + @Override + public Element getElement() { return element; } + private final Element element; public BlockCrystal(Element element) { diff --git a/src/main/java/electroblob/wizardry/block/BlockRunestone.java b/src/main/java/electroblob/wizardry/block/BlockRunestone.java index c480565c..491bbf20 100644 --- a/src/main/java/electroblob/wizardry/block/BlockRunestone.java +++ b/src/main/java/electroblob/wizardry/block/BlockRunestone.java @@ -5,24 +5,15 @@ import electroblob.wizardry.registry.WizardryTabs; import net.minecraft.block.Block; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; -import net.minecraft.block.properties.PropertyEnum; -import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; -import net.minecraft.item.ItemStack; import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; -import java.util.Arrays; import java.util.EnumMap; public class BlockRunestone extends Block { - public static final PropertyEnum ELEMENT = PropertyEnum.create("element", Element.class, - Arrays.copyOfRange(Element.values(), 1, Element.values().length)); // Everything except MAGIC - private static final EnumMap map_colours = new EnumMap<>(Element.class); static { @@ -34,54 +25,24 @@ public class BlockRunestone extends Block { map_colours.put(Element.SORCERY, MapColor.GRAY); map_colours.put(Element.HEALING, MapColor.YELLOW_STAINED_HARDENED_CLAY); } - - public BlockRunestone(Material material){ + + private final Element element; + + public BlockRunestone(Material material, Element element) { super(material); - this.setDefaultState(this.blockState.getBaseState().withProperty(ELEMENT, Element.FIRE)); - this.setCreativeTab(WizardryTabs.WIZARDRY); + this.setCreativeTab(WizardryTabs.WIZARDRY); this.setHardness(1.5F); this.setResistance(10.0F); - } - - @Override - public int damageDropped(IBlockState state){ - return state.getValue(ELEMENT).ordinal(); - } - - @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos){ - return map_colours.get(state.getProperties().get(ELEMENT)); - } - - @Override - public void getSubBlocks(CreativeTabs tab, NonNullList items){ - if(this.getCreativeTab() == tab){ - for(Element element : Arrays.copyOfRange(Element.values(), 1, Element.values().length)){ - items.add(new ItemStack(this, 1, element.ordinal())); - } - } + this.element = element; } + public Element getElement() { return element; } + @Override - public BlockRenderLayer getRenderLayer(){ + public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) { return map_colours.get(element); } + + @Override + public BlockRenderLayer getRenderLayer() { return BlockRenderLayer.CUTOUT; // Required to shade parts of the block faces differently to others } - - @Override - public IBlockState getStateFromMeta(int metadata){ - Element element = Element.values()[metadata]; - if(!ELEMENT.getAllowedValues().contains(element)) return this.getDefaultState(); - return this.getDefaultState().withProperty(ELEMENT, element); - } - - @Override - public int getMetaFromState(IBlockState state){ - return state.getValue(ELEMENT).ordinal(); - } - - @Override - protected BlockStateContainer createBlockState(){ - return new BlockStateContainer(this, ELEMENT); - } - } diff --git a/src/main/java/electroblob/wizardry/block/BlockPedestal.java b/src/main/java/electroblob/wizardry/block/BlockRunestonePedestal.java similarity index 56% rename from src/main/java/electroblob/wizardry/block/BlockPedestal.java rename to src/main/java/electroblob/wizardry/block/BlockRunestonePedestal.java index 53bb1bb4..f3e762ca 100644 --- a/src/main/java/electroblob/wizardry/block/BlockPedestal.java +++ b/src/main/java/electroblob/wizardry/block/BlockRunestonePedestal.java @@ -1,5 +1,6 @@ package electroblob.wizardry.block; +import electroblob.wizardry.api.IElemental; import electroblob.wizardry.constants.Element; import electroblob.wizardry.registry.WizardryTabs; import electroblob.wizardry.tileentity.TileEntityShrineCore; @@ -8,28 +9,20 @@ import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.MapColor; import net.minecraft.block.material.Material; import net.minecraft.block.properties.PropertyBool; -import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; -import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import javax.annotation.Nullable; -import java.util.Arrays; import java.util.EnumMap; -public class BlockPedestal extends Block implements ITileEntityProvider { - - public static final PropertyEnum ELEMENT = PropertyEnum.create("element", Element.class, - Arrays.copyOfRange(Element.values(), 1, Element.values().length)); // Everything except MAGIC +public class BlockRunestonePedestal extends Block implements ITileEntityProvider, IElemental { // A 'natural' pedestal is one that was generated as part of a structure, is unbreakable and has a tileentity public static final PropertyBool NATURAL = PropertyBool.create("natural"); @@ -46,80 +39,66 @@ public class BlockPedestal extends Block implements ITileEntityProvider { map_colours.put(Element.HEALING, MapColor.YELLOW_STAINED_HARDENED_CLAY); } - public BlockPedestal(Material material){ + private final Element element; + + public BlockRunestonePedestal(Material material, Element element) { super(material); - this.setDefaultState(this.blockState.getBaseState().withProperty(ELEMENT, Element.FIRE).withProperty(NATURAL, false)); + this.setDefaultState(this.blockState.getBaseState().withProperty(NATURAL, false)); this.setCreativeTab(WizardryTabs.WIZARDRY); this.setHardness(1.5F); this.setResistance(10.0F); + this.element = element; } @Override - public int damageDropped(IBlockState state){ - return state.getValue(ELEMENT).ordinal(); // Ignore the NATURAL state here, it's unobtainable + public Element getElement() { + return element; } @Override - public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos){ - return map_colours.get(state.getProperties().get(ELEMENT)); + public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos) { + return map_colours.get(element); } @Override - public void getSubBlocks(CreativeTabs tab, NonNullList items){ - // Ignore the NATURAL state here, it's unobtainable - if(this.getCreativeTab() == tab){ - for(Element element : Arrays.copyOfRange(Element.values(), 1, Element.values().length)){ - items.add(new ItemStack(this, 1, element.ordinal())); - } - } - } - - @Override - public BlockRenderLayer getRenderLayer(){ + public BlockRenderLayer getRenderLayer() { return BlockRenderLayer.CUTOUT; // Required to shade parts of the block faces differently to others } @Override - public float getBlockHardness(IBlockState state, World world, BlockPos pos){ + public float getBlockHardness(IBlockState state, World world, BlockPos pos) { return state.getValue(NATURAL) ? -1 : super.getBlockHardness(state, world, pos); } @Override - public float getExplosionResistance(World world, BlockPos pos, @Nullable Entity exploder, Explosion explosion){ + public float getExplosionResistance(World world, BlockPos pos, @Nullable Entity exploder, Explosion explosion) { return world.getBlockState(pos).getValue(NATURAL) ? 6000000.0F : super.getExplosionResistance(world, pos, exploder, explosion); } @Override - public boolean hasTileEntity(IBlockState state){ + public boolean hasTileEntity(IBlockState state) { return state.getValue(NATURAL); // Only naturally-generated pedestals have a (shrine core) tile entity } @Nullable @Override - public TileEntity createNewTileEntity(World world, int meta){ + public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityShrineCore(); } @Override - public IBlockState getStateFromMeta(int metadata){ - boolean natural = false; - if(metadata > ELEMENT.getAllowedValues().size()){ - natural = true; - metadata -= ELEMENT.getAllowedValues().size(); - } - Element element = Element.values()[metadata]; - if(!ELEMENT.getAllowedValues().contains(element)) return this.getDefaultState().withProperty(NATURAL, natural); - return this.getDefaultState().withProperty(ELEMENT, element).withProperty(NATURAL, natural); + public IBlockState getStateFromMeta(int meta) { + return this.getDefaultState().withProperty(NATURAL, meta == 1); } @Override - public int getMetaFromState(IBlockState state){ - return state.getValue(ELEMENT).ordinal() + (state.getValue(NATURAL) ? ELEMENT.getAllowedValues().size() : 0); + public int getMetaFromState(IBlockState state) { + return state.getValue(NATURAL) ? 1 : 0; } @Override - protected BlockStateContainer createBlockState(){ - return new BlockStateContainer(this, ELEMENT, NATURAL); + protected BlockStateContainer createBlockState() { + return new BlockStateContainer(this, NATURAL); } } diff --git a/src/main/java/electroblob/wizardry/client/model/WizardryModels.java b/src/main/java/electroblob/wizardry/client/model/WizardryModels.java index 43f848e5..de23d73b 100644 --- a/src/main/java/electroblob/wizardry/client/model/WizardryModels.java +++ b/src/main/java/electroblob/wizardry/client/model/WizardryModels.java @@ -1,13 +1,9 @@ package electroblob.wizardry.client.model; import electroblob.wizardry.Wizardry; -import electroblob.wizardry.block.BlockCrystal; -import electroblob.wizardry.block.BlockPedestal; -import electroblob.wizardry.block.BlockRunestone; +import electroblob.wizardry.block.BlockRunestonePedestal; import electroblob.wizardry.item.IMultiTexturedItem; import electroblob.wizardry.item.ItemBlockMultiTextured; -import electroblob.wizardry.item.ItemCrystal; -import electroblob.wizardry.item.ItemSpectralDust; import electroblob.wizardry.registry.WizardryBlocks; import electroblob.wizardry.registry.WizardryItems; import net.minecraft.block.BlockPlanks; @@ -50,17 +46,6 @@ public final class WizardryModels { @SubscribeEvent public static void register(ModelRegistryEvent event){ - // ItemBlocks - ModelLoader.setCustomStateMapper(WizardryBlocks.runestone, new StateMap.Builder() - .withName(BlockRunestone.ELEMENT).withSuffix("_runestone").build()); - ItemBlockMultiTextured runestoneItem = (ItemBlockMultiTextured)Item.getItemFromBlock(WizardryBlocks.runestone); - registerMultiTexturedModel(runestoneItem); - - ModelLoader.setCustomStateMapper(WizardryBlocks.runestone_pedestal, new StateMap.Builder() - .withName(BlockPedestal.ELEMENT).ignore(BlockPedestal.NATURAL).withSuffix("_runestone_pedestal").build()); // Don't care about NATURAL property - ItemBlockMultiTextured pedestalItem = (ItemBlockMultiTextured)Item.getItemFromBlock(WizardryBlocks.runestone_pedestal); - registerMultiTexturedModel(pedestalItem); - ModelLoader.setCustomStateMapper(WizardryBlocks.gilded_wood, new StateMap.Builder() .withName(BlockPlanks.VARIANT).withSuffix("_gilded_wood").build()); ItemBlockMultiTextured gildedWoodItem = (ItemBlockMultiTextured)Item.getItemFromBlock(WizardryBlocks.gilded_wood); diff --git a/src/main/java/electroblob/wizardry/item/ItemCrystal.java b/src/main/java/electroblob/wizardry/item/ItemCrystal.java index 2ad0e5f8..ee6a0cd8 100644 --- a/src/main/java/electroblob/wizardry/item/ItemCrystal.java +++ b/src/main/java/electroblob/wizardry/item/ItemCrystal.java @@ -1,16 +1,21 @@ package electroblob.wizardry.item; +import electroblob.wizardry.api.IElemental; +import electroblob.wizardry.constants.Element; import electroblob.wizardry.registry.WizardryTabs; import net.minecraft.item.Item; -/** Note that in 1.13, the flattening will make this class redundant, much like ItemCoal, which is probably its - * closest analog in vanilla. */ -public class ItemCrystal extends Item { +public class ItemCrystal extends Item implements IElemental { - public ItemCrystal(){ + private final Element element; + + public ItemCrystal(Element element) { super(); - this.setMaxDamage(0); - this.setCreativeTab(WizardryTabs.WIZARDRY); - } + this.setMaxDamage(0); + this.setCreativeTab(WizardryTabs.WIZARDRY); + this.element = element; + } + @Override + public Element getElement() { return element; } } diff --git a/src/main/java/electroblob/wizardry/registry/WizardryBlocks.java b/src/main/java/electroblob/wizardry/registry/WizardryBlocks.java index 90892dba..692a07c7 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryBlocks.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryBlocks.java @@ -68,7 +68,21 @@ public final class WizardryBlocks { public static final Block permafrost = placeholder(); public static final Block runestone = placeholder(); - public static final Block runestone_pedestal = placeholder(); + public static final Block fire_runestone = placeholder(); + public static final Block ice_runestone = placeholder(); + public static final Block lightning_runestone = placeholder(); + public static final Block necromancy_runestone = placeholder(); + public static final Block earth_runestone = placeholder(); + public static final Block sorcery_runestone = placeholder(); + public static final Block healing_runestone = placeholder(); + + public static final Block fire_runestone_pedestal = placeholder(); + public static final Block ice_runestone_pedestal = placeholder(); + public static final Block lightning_runestone_pedestal = placeholder(); + public static final Block necromancy_runestone_pedestal = placeholder(); + public static final Block earth_runestone_pedestal = placeholder(); + public static final Block healing_runestone_pedestal = placeholder(); + public static final Block sorcery_runestone_pedestal = placeholder(); public static final Block gilded_wood = placeholder(); @@ -140,8 +154,21 @@ public final class WizardryBlocks { registerBlock(registry, "crystal_flower_pot", new BlockCrystalFlowerPot()); registerBlock(registry, "permafrost", new BlockPermafrost()); - registerBlock(registry, "runestone", new BlockRunestone(Material.ROCK)); - registerBlock(registry, "runestone_pedestal", new BlockPedestal(Material.ROCK)); + registerBlock(registry, "fire_runestone", new BlockRunestone(Material.ROCK, Element.FIRE)); + registerBlock(registry, "ice_runestone", new BlockRunestone(Material.ROCK, Element.ICE)); + registerBlock(registry, "lightning_runestone", new BlockRunestone(Material.ROCK, Element.LIGHTNING)); + registerBlock(registry, "necromancy_runestone", new BlockRunestone(Material.ROCK, Element.NECROMANCY)); + registerBlock(registry, "earth_runestone", new BlockRunestone(Material.ROCK, Element.EARTH)); + registerBlock(registry, "sorcery_runestone", new BlockRunestone(Material.ROCK, Element.SORCERY)); + registerBlock(registry, "healing_runestone", new BlockRunestone(Material.ROCK, Element.HEALING)); + + registerBlock(registry, "fire_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.FIRE)); + registerBlock(registry, "ice_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.ICE)); + registerBlock(registry, "lightning_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.LIGHTNING)); + registerBlock(registry, "necromancy_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.NECROMANCY)); + registerBlock(registry, "earth_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.EARTH)); + registerBlock(registry, "healing_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.HEALING)); + registerBlock(registry, "sorcery_runestone_pedestal", new BlockRunestonePedestal(Material.ROCK, Element.SORCERY)); registerBlock(registry, "gilded_wood", new BlockGildedWood()); diff --git a/src/main/java/electroblob/wizardry/registry/WizardryItems.java b/src/main/java/electroblob/wizardry/registry/WizardryItems.java index 33ce171b..b52121f1 100644 --- a/src/main/java/electroblob/wizardry/registry/WizardryItems.java +++ b/src/main/java/electroblob/wizardry/registry/WizardryItems.java @@ -569,8 +569,14 @@ public final class WizardryItems { registerItemBlock(registry, WizardryBlocks.sorcery_crystal_block); registerItemBlock(registry, WizardryBlocks.healing_crystal_block); - registerMultiTexturedItemBlock(registry, WizardryBlocks.runestone, false, elements); - registerMultiTexturedItemBlock(registry, WizardryBlocks.runestone_pedestal, false, elements); + registerItemBlock(registry, WizardryBlocks.fire_runestone); + registerItemBlock(registry, WizardryBlocks.ice_runestone); + registerItemBlock(registry, WizardryBlocks.lightning_runestone); + registerItemBlock(registry, WizardryBlocks.necromancy_runestone); + registerItemBlock(registry, WizardryBlocks.earth_runestone); + registerItemBlock(registry, WizardryBlocks.sorcery_runestone); + registerItemBlock(registry, WizardryBlocks.healing_runestone); + registerMultiTexturedItemBlock(registry, WizardryBlocks.gilded_wood, true, woodTypes); registerItemBlock(registry, WizardryBlocks.oak_bookshelf); @@ -592,14 +598,14 @@ public final class WizardryItems { // Items - registerItem(registry, "magic_crystal", new ItemCrystal()); - registerItem(registry, "earth_crystal", new ItemCrystal()); - registerItem(registry, "fire_crystal", new ItemCrystal()); - registerItem(registry, "healing_crystal", new ItemCrystal()); - registerItem(registry, "ice_crystal", new ItemCrystal()); - registerItem(registry, "lightning_crystal", new ItemCrystal()); - registerItem(registry, "necromancy_crystal", new ItemCrystal()); - registerItem(registry, "sorcery_crystal", new ItemCrystal()); + registerItem(registry, "magic_crystal", new ItemCrystal(Element.MAGIC)); + registerItem(registry, "earth_crystal", new ItemCrystal(Element.EARTH)); + registerItem(registry, "fire_crystal", new ItemCrystal(Element.FIRE)); + registerItem(registry, "healing_crystal", new ItemCrystal(Element.HEALING)); + registerItem(registry, "ice_crystal", new ItemCrystal(Element.ICE)); + registerItem(registry, "lightning_crystal", new ItemCrystal(Element.LIGHTNING)); + registerItem(registry, "necromancy_crystal", new ItemCrystal(Element.NECROMANCY)); + registerItem(registry, "sorcery_crystal", new ItemCrystal(Element.SORCERY)); registerItem(registry, "crystal_shard", new Item().setCreativeTab(WizardryTabs.WIZARDRY)); registerItem(registry, "grand_crystal", new Item().setCreativeTab(WizardryTabs.WIZARDRY)); diff --git a/src/main/java/electroblob/wizardry/tileentity/TileEntityShrineCore.java b/src/main/java/electroblob/wizardry/tileentity/TileEntityShrineCore.java index 6bde7079..331ba887 100644 --- a/src/main/java/electroblob/wizardry/tileentity/TileEntityShrineCore.java +++ b/src/main/java/electroblob/wizardry/tileentity/TileEntityShrineCore.java @@ -1,7 +1,9 @@ package electroblob.wizardry.tileentity; import electroblob.wizardry.Wizardry; -import electroblob.wizardry.block.BlockPedestal; +import electroblob.wizardry.api.IElemental; +import electroblob.wizardry.block.BlockRunestonePedestal; +import electroblob.wizardry.constants.Element; import electroblob.wizardry.entity.living.EntityEvilWizard; import electroblob.wizardry.entity.living.EntityWizard; import electroblob.wizardry.packet.PacketConquerShrine; @@ -101,7 +103,8 @@ public class TileEntityShrineCore extends TileEntity implements ITickable { } wizard.setLocationAndAngles(x1, y1 + 0.5, z1, 0, 0); - wizard.setElement(world.getBlockState(pos).getValue(BlockPedestal.ELEMENT)); + wizard.setElement(world.getBlockState(pos).getBlock() instanceof IElemental + ? ((IElemental) world.getBlockState(pos).getBlock()).getElement() : Element.MAGIC); wizard.onInitialSpawn(world.getDifficultyForLocation(pos), null); wizard.hasStructure = true; @@ -144,9 +147,8 @@ public class TileEntityShrineCore extends TileEntity implements ITickable { WizardryPacketHandler.net.sendToAllAround(new PacketConquerShrine.Message(this.pos), new NetworkRegistry.TargetPoint(this.world.provider.getDimension(), x, y, z, 64)); - if(world.getBlockState(pos).getBlock() == WizardryBlocks.runestone_pedestal){ - world.setBlockState(pos, WizardryBlocks.runestone_pedestal.getDefaultState() - .withProperty(BlockPedestal.ELEMENT, world.getBlockState(pos).getValue(BlockPedestal.ELEMENT))); + if(world.getBlockState(pos).getBlock() instanceof BlockRunestonePedestal){ + world.setBlockState(pos, world.getBlockState(pos).getBlock().getDefaultState()); }else{ Wizardry.logger.warn("What's going on?! A shrine core is being conquered but the block at its position is not a runestone pedestal!"); } diff --git a/src/main/java/electroblob/wizardry/worldgen/WorldGenObelisk.java b/src/main/java/electroblob/wizardry/worldgen/WorldGenObelisk.java index 486e8606..acb7610c 100644 --- a/src/main/java/electroblob/wizardry/worldgen/WorldGenObelisk.java +++ b/src/main/java/electroblob/wizardry/worldgen/WorldGenObelisk.java @@ -5,6 +5,7 @@ import electroblob.wizardry.block.BlockRunestone; import electroblob.wizardry.constants.Element; import electroblob.wizardry.entity.living.EntityRemnant; import electroblob.wizardry.integration.antiqueatlas.WizardryAntiqueAtlasIntegration; +import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.MobSpawnerBaseLogic; @@ -17,6 +18,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.structure.template.ITemplateProcessor; import net.minecraft.world.gen.structure.template.PlacementSettings; import net.minecraft.world.gen.structure.template.Template; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import org.apache.commons.lang3.ArrayUtils; import java.util.Map; @@ -58,9 +60,10 @@ public class WorldGenObelisk extends WorldGenSurfaceStructure { public void spawnStructure(Random random, World world, BlockPos origin, Template template, PlacementSettings settings, ResourceLocation structureFile){ final Element element = Element.values()[1 + random.nextInt(Element.values().length-1)]; + Block runeStone = ForgeRegistries.BLOCKS.getValue(new ResourceLocation(Wizardry.MODID, element.getName().toLowerCase() + "_runestone")); ITemplateProcessor processor = (w, p, i) -> i.blockState.getBlock() instanceof BlockRunestone ? new Template.BlockInfo( - i.pos, i.blockState.withProperty(BlockRunestone.ELEMENT, element), i.tileentityData) : i; + i.pos, runeStone.getDefaultState(), i.tileentityData) : i; template.addBlocksToWorld(world, origin, processor, settings, 2 | 16); diff --git a/src/main/java/electroblob/wizardry/worldgen/WorldGenShrine.java b/src/main/java/electroblob/wizardry/worldgen/WorldGenShrine.java index 7e9b4d5d..1b8170f6 100644 --- a/src/main/java/electroblob/wizardry/worldgen/WorldGenShrine.java +++ b/src/main/java/electroblob/wizardry/worldgen/WorldGenShrine.java @@ -1,13 +1,14 @@ package electroblob.wizardry.worldgen; import electroblob.wizardry.Wizardry; -import electroblob.wizardry.block.BlockPedestal; +import electroblob.wizardry.block.BlockRunestonePedestal; import electroblob.wizardry.block.BlockRunestone; import electroblob.wizardry.constants.Element; import electroblob.wizardry.integration.antiqueatlas.WizardryAntiqueAtlasIntegration; import electroblob.wizardry.registry.WizardryBlocks; import electroblob.wizardry.spell.ArcaneLock; import electroblob.wizardry.tileentity.TileEntityShrineCore; +import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; @@ -15,6 +16,7 @@ import net.minecraft.world.World; import net.minecraft.world.gen.structure.template.ITemplateProcessor; import net.minecraft.world.gen.structure.template.PlacementSettings; import net.minecraft.world.gen.structure.template.Template; +import net.minecraftforge.fml.common.registry.ForgeRegistries; import org.apache.commons.lang3.ArrayUtils; import java.util.Map; @@ -50,9 +52,10 @@ public class WorldGenShrine extends WorldGenSurfaceStructure { public void spawnStructure(Random random, World world, BlockPos origin, Template template, PlacementSettings settings, ResourceLocation structureFile){ final Element element = Element.values()[1 + random.nextInt(Element.values().length-1)]; + Block runeStone = ForgeRegistries.BLOCKS.getValue(new ResourceLocation(Wizardry.MODID, element.getName().toLowerCase() + "_runestone")); ITemplateProcessor processor = (w, p, i) -> i.blockState.getBlock() instanceof BlockRunestone ? new Template.BlockInfo( - i.pos, i.blockState.withProperty(BlockRunestone.ELEMENT, element), i.tileentityData) : i; + i.pos, runeStone.getDefaultState(), i.tileentityData) : i; template.addBlocksToWorld(world, origin, processor, settings, 2 | 16); @@ -65,8 +68,8 @@ public class WorldGenShrine extends WorldGenSurfaceStructure { if(entry.getValue().equals(CORE_DATA_BLOCK_TAG)){ // This bit could have been done with a template processor, but we also need to link the chest and lock it - world.setBlockState(entry.getKey(), WizardryBlocks.runestone_pedestal.getDefaultState() - .withProperty(BlockPedestal.ELEMENT, element).withProperty(BlockPedestal.NATURAL, true)); + world.setBlockState(entry.getKey(), ForgeRegistries.BLOCKS.getValue(new ResourceLocation(Wizardry.MODID, element.getName().toLowerCase() + + "_runestone_pedestal")).getDefaultState().withProperty(BlockRunestonePedestal.NATURAL, true)); TileEntity core = world.getTileEntity(entry.getKey()); TileEntity container = world.getTileEntity(entry.getKey().up()); diff --git a/src/main/resources/assets/ebwizardry/advancements/visit_shrine.json b/src/main/resources/assets/ebwizardry/advancements/visit_shrine.json index 01060fb9..6e1057fc 100644 --- a/src/main/resources/assets/ebwizardry/advancements/visit_shrine.json +++ b/src/main/resources/assets/ebwizardry/advancements/visit_shrine.json @@ -7,8 +7,7 @@ "translate": "advancement.ebwizardry:visit_shrine.desc" }, "icon": { - "item": "ebwizardry:runestone", - "data": 5 + "item": "ebwizardry:ice_runestone" } }, "parent": "ebwizardry:defeat_evil_wizard", diff --git a/src/main/resources/assets/ebwizardry/lang/de_de.lang b/src/main/resources/assets/ebwizardry/lang/de_de.lang index 6acf0181..b4faefb0 100644 --- a/src/main/resources/assets/ebwizardry/lang/de_de.lang +++ b/src/main/resources/assets/ebwizardry/lang/de_de.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=Position %s, %s, %s in der dimens tile.ebwizardry\:transportation_stone.forget=Position %s, %s, %s in der dimension %s vergessen tile.ebwizardry\:transportation_stone.invalid=Du musst zuerst einen Kreis mit 8 Teleportsteinen bilden! tile.ebwizardry\:spectral_block.name=Spektralblock -tile.ebwizardry\:runestone.name=Runenstein -tile.ebwizardry\:runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:fire_runestone.name=Runenstein +tile.ebwizardry\:ice_runestone.name=Runenstein +tile.ebwizardry\:lightning_runestone.name=Runenstein +tile.ebwizardry\:necromancy_runestone.name=Runenstein +tile.ebwizardry\:earth_runestone.name=Runenstein +tile.ebwizardry\:healing_runestone.name=Runenstein +tile.ebwizardry\:sorcery_runestone.name=Runenstein +tile.ebwizardry\:fire_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:ice_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:lightning_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:necromancy_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:earth_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:healing_runestone_pedestal.name=Runenstein Sockel +tile.ebwizardry\:sorcery_runestone_pedestal.name=Runenstein Sockel tile.ebwizardry\:thorns.name=Dornen tile.ebwizardry\:obsidian_crust.name=Obsidian Kruste tile.ebwizardry\:dry_frosted_ice.name=Gefrohrenes Trockeneis diff --git a/src/main/resources/assets/ebwizardry/lang/en_gb.lang b/src/main/resources/assets/ebwizardry/lang/en_gb.lang index 645da6fe..88a61ef5 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_gb.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_gb.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=Remembered the location %s, %s, % tile.ebwizardry\:transportation_stone.forget=Forgot the location %s, %s, %s in dimension %s tile.ebwizardry\:transportation_stone.invalid=You must make a circle with 8 stones of transportation first! tile.ebwizardry\:spectral_block.name=Spectral Block -tile.ebwizardry\:runestone.name=Runestone -tile.ebwizardry\:runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:fire_runestone.name=Runestone +tile.ebwizardry\:ice_runestone.name=Runestone +tile.ebwizardry\:lightning_runestone.name=Runestone +tile.ebwizardry\:necromancy_runestone.name=Runestone +tile.ebwizardry\:earth_runestone.name=Runestone +tile.ebwizardry\:healing_runestone.name=Runestone +tile.ebwizardry\:sorcery_runestone.name=Runestone +tile.ebwizardry\:fire_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:ice_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:lightning_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:necromancy_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:earth_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:healing_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:sorcery_runestone_pedestal.name=Runestone Pedestal tile.ebwizardry\:thorns.name=Thorns tile.ebwizardry\:obsidian_crust.name=Obsidian Crust tile.ebwizardry\:dry_frosted_ice.name=Dry Frosted Ice diff --git a/src/main/resources/assets/ebwizardry/lang/en_us.lang b/src/main/resources/assets/ebwizardry/lang/en_us.lang index 2fd5f1f8..639a219a 100644 --- a/src/main/resources/assets/ebwizardry/lang/en_us.lang +++ b/src/main/resources/assets/ebwizardry/lang/en_us.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=Remembered the location %s, %s, % tile.ebwizardry\:transportation_stone.forget=Forgot the location %s, %s, %s in dimension %s tile.ebwizardry\:transportation_stone.invalid=You must make a circle with 8 stones of transportation first! tile.ebwizardry\:spectral_block.name=Spectral Block -tile.ebwizardry\:runestone.name=Runestone -tile.ebwizardry\:runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:fire_runestone.name=Runestone +tile.ebwizardry\:ice_runestone.name=Runestone +tile.ebwizardry\:lightning_runestone.name=Runestone +tile.ebwizardry\:necromancy_runestone.name=Runestone +tile.ebwizardry\:earth_runestone.name=Runestone +tile.ebwizardry\:healing_runestone.name=Runestone +tile.ebwizardry\:sorcery_runestone.name=Runestone +tile.ebwizardry\:fire_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:ice_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:lightning_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:necromancy_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:earth_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:healing_runestone_pedestal.name=Runestone Pedestal +tile.ebwizardry\:sorcery_runestone_pedestal.name=Runestone Pedestal tile.ebwizardry\:thorns.name=Thorns tile.ebwizardry\:obsidian_crust.name=Obsidian Crust tile.ebwizardry\:dry_frosted_ice.name=Dry Frosted Ice diff --git a/src/main/resources/assets/ebwizardry/lang/fr_fr.lang b/src/main/resources/assets/ebwizardry/lang/fr_fr.lang index 98a4c6b5..32acf336 100644 --- a/src/main/resources/assets/ebwizardry/lang/fr_fr.lang +++ b/src/main/resources/assets/ebwizardry/lang/fr_fr.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=La position %s, %s, %s a été ma tile.ebwizardry\:transportation_stone.forget=La position %s, %s, %s a été effacée dans la dimension %s tile.ebwizardry\:transportation_stone.invalid=Vous devez d'abord créer un cercle avec 8 pierres de téléportation! tile.ebwizardry\:spectral_block.name=Bloc spectral -tile.ebwizardry\:runestone.name=Pierre runique -tile.ebwizardry\:runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:fire_runestone.name=Pierre runique +tile.ebwizardry\:ice_runestone.name=Pierre runique +tile.ebwizardry\:lightning_runestone.name=Pierre runique +tile.ebwizardry\:necromancy_runestone.name=Pierre runique +tile.ebwizardry\:earth_runestone.name=Pierre runique +tile.ebwizardry\:healing_runestone.name=Pierre runique +tile.ebwizardry\:sorcery_runestone.name=Pierre runique +tile.ebwizardry\:fire_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:ice_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:lightning_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:necromancy_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:earth_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:healing_runestone_pedestal.name=Piédestal runique +tile.ebwizardry\:sorcery_runestone_pedestal.name=Piédestal runique tile.ebwizardry\:thorns.name=Épines tile.ebwizardry\:obsidian_crust.name=Croûte d'obsidienne tile.ebwizardry\:dry_frosted_ice.name=Glace dépolie diff --git a/src/main/resources/assets/ebwizardry/lang/hu_hu.lang b/src/main/resources/assets/ebwizardry/lang/hu_hu.lang index 9cf76e28..eb58ef26 100644 --- a/src/main/resources/assets/ebwizardry/lang/hu_hu.lang +++ b/src/main/resources/assets/ebwizardry/lang/hu_hu.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=egjegyezve a hely: %s, %s, %s, %s tile.ebwizardry\:transportation_stone.forget=Elfelejtve a hely: %s, %s, %s, %s dimenzióban tile.ebwizardry\:transportation_stone.invalid=Előbb egy kört kell építened 8 Transzportáció Kövéből! tile.ebwizardry\:spectral_block.name=Spektrálblokk -tile.ebwizardry\:runestone.name=Rúnakő -tile.ebwizardry\:runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:fire_runestone.name=Rúnakő +tile.ebwizardry\:ice_runestone.name=Rúnakő +tile.ebwizardry\:lightning_runestone.name=Rúnakő +tile.ebwizardry\:necromancy_runestone.name=Rúnakő +tile.ebwizardry\:earth_runestone.name=Rúnakő +tile.ebwizardry\:healing_runestone.name=Rúnakő +tile.ebwizardry\:sorcery_runestone.name=Rúnakő +tile.ebwizardry\:fire_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:ice_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:lightning_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:necromancy_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:earth_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:healing_runestone_pedestal.name=Rúnakő Pedesztál +tile.ebwizardry\:sorcery_runestone_pedestal.name=Rúnakő Pedesztál tile.ebwizardry\:thorns.name=Tövisek tile.ebwizardry\:obsidian_crust.name=Obszidián Kéreg tile.ebwizardry\:dry_frosted_ice.name=Száraz Fagyott Jég diff --git a/src/main/resources/assets/ebwizardry/lang/ko_kr.lang b/src/main/resources/assets/ebwizardry/lang/ko_kr.lang index 974970c9..1efc490d 100644 --- a/src/main/resources/assets/ebwizardry/lang/ko_kr.lang +++ b/src/main/resources/assets/ebwizardry/lang/ko_kr.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=%s, %s, %s의 %s의 위치를 지 tile.ebwizardry\:transportation_stone.forget=%s, %s, %s의 %s의 위치를 지웠습니다 tile.ebwizardry\:transportation_stone.invalid=먼저 전이의 돌 8개로 전이진을 만들어야 합니다! tile.ebwizardry\:spectral_block.name=허상 블록 -tile.ebwizardry\:runestone.name=룬스톤 -tile.ebwizardry\:runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:fire_runestone.name=룬스톤 +tile.ebwizardry\:ice_runestone.name=룬스톤 +tile.ebwizardry\:lightning_runestone.name=룬스톤 +tile.ebwizardry\:necromancy_runestone.name=룬스톤 +tile.ebwizardry\:earth_runestone.name=룬스톤 +tile.ebwizardry\:healing_runestone.name=룬스톤 +tile.ebwizardry\:sorcery_runestone.name=룬스톤 +tile.ebwizardry\:fire_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:ice_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:lightning_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:necromancy_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:earth_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:healing_runestone_pedestal.name=룬스톤 초석 +tile.ebwizardry\:sorcery_runestone_pedestal.name=룬스톤 초석 tile.ebwizardry\:thorns.name=가시 tile.ebwizardry\:obsidian_crust.name=흑요석 껍질 tile.ebwizardry\:dry_frosted_ice.name=마른 반투명 얼음 diff --git a/src/main/resources/assets/ebwizardry/lang/pl_pl.lang b/src/main/resources/assets/ebwizardry/lang/pl_pl.lang index 7611a17a..cad9d3cb 100644 --- a/src/main/resources/assets/ebwizardry/lang/pl_pl.lang +++ b/src/main/resources/assets/ebwizardry/lang/pl_pl.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=Zapamiętano lokalizację %s, %s, tile.ebwizardry\:transportation_stone.forget=Zapomniano lokalizację %s, %s, %s w wymiarze %s tile.ebwizardry\:transportation_stone.invalid=Najpierw musisz zrobić krąg z 8 kamieniami transportu! tile.ebwizardry\:spectral_block.name=Blok Spektralny -tile.ebwizardry\:runestone.name=Kamień Runiczny -tile.ebwizardry\:runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:fire_runestone.name=Kamień Runiczny +tile.ebwizardry\:ice_runestone.name=Kamień Runiczny +tile.ebwizardry\:lightning_runestone.name=Kamień Runiczny +tile.ebwizardry\:necromancy_runestone.name=Kamień Runiczny +tile.ebwizardry\:earth_runestone.name=Kamień Runiczny +tile.ebwizardry\:healing_runestone.name=Kamień Runiczny +tile.ebwizardry\:sorcery_runestone.name=Kamień Runiczny +tile.ebwizardry\:fire_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:ice_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:lightning_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:necromancy_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:earth_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:healing_runestone_pedestal.name=Pilar Runicznego Kamienia +tile.ebwizardry\:sorcery_runestone_pedestal.name=Pilar Runicznego Kamienia tile.ebwizardry\:thorns.name=Ciernie tile.ebwizardry\:obsidian_crust.name=Obsydianowa Skorupa tile.ebwizardry\:dry_frosted_ice.name=Zaschły Lód diff --git a/src/main/resources/assets/ebwizardry/lang/ru_ru.lang b/src/main/resources/assets/ebwizardry/lang/ru_ru.lang index 9a572b25..5711e846 100644 --- a/src/main/resources/assets/ebwizardry/lang/ru_ru.lang +++ b/src/main/resources/assets/ebwizardry/lang/ru_ru.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=Запомнил местопол tile.ebwizardry\:transportation_stone.forget=Забыл местоположение %s, %s, %s в измерении %s tile.ebwizardry\:transportation_stone.invalid=Первое, что Вы должны сделать, это круг с 8-ю камнями перемещения! tile.ebwizardry\:spectral_block.name=Спектральный блок -tile.ebwizardry\:runestone.name=Рунный камень -tile.ebwizardry\:runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:fire_runestone.name=Рунный камень +tile.ebwizardry\:ice_runestone.name=Рунный камень +tile.ebwizardry\:lightning_runestone.name=Рунный камень +tile.ebwizardry\:necromancy_runestone.name=Рунный камень +tile.ebwizardry\:earth_runestone.name=Рунный камень +tile.ebwizardry\:healing_runestone.name=Рунный камень +tile.ebwizardry\:sorcery_runestone.name=Рунный камень +tile.ebwizardry\:fire_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:ice_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:lightning_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:necromancy_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:earth_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:healing_runestone_pedestal.name=Пьедестал из рунного камня +tile.ebwizardry\:sorcery_runestone_pedestal.name=Пьедестал из рунного камня tile.ebwizardry\:thorns.name=Шипы tile.ebwizardry\:obsidian_crust.name=Обсидиановая кора tile.ebwizardry\:dry_frosted_ice.name=Сухой матовый лёд diff --git a/src/main/resources/assets/ebwizardry/lang/zh_cn.lang b/src/main/resources/assets/ebwizardry/lang/zh_cn.lang index c32ad8c1..a0ecfbd1 100644 --- a/src/main/resources/assets/ebwizardry/lang/zh_cn.lang +++ b/src/main/resources/assets/ebwizardry/lang/zh_cn.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=你记住了位于 %4$s 维度 %1 tile.ebwizardry\:transportation_stone.forget=你遗忘了位于 %4$s 维度 %1$s,%2$s,%3$s的传送坐标 tile.ebwizardry\:transportation_stone.invalid=你必须用8个传送石围成一个圈! tile.ebwizardry\:spectral_block.name=幽冥方块 -tile.ebwizardry\:runestone.name=符石 -tile.ebwizardry\:runestone_pedestal.name=符石基座 +tile.ebwizardry\:fire_runestone.name=符石 +tile.ebwizardry\:ice_runestone.name=符石 +tile.ebwizardry\:lightning_runestone.name=符石 +tile.ebwizardry\:necromancy_runestone.name=符石 +tile.ebwizardry\:earth_runestone.name=符石 +tile.ebwizardry\:healing_runestone.name=符石 +tile.ebwizardry\:sorcery_runestone.name=符石 +tile.ebwizardry\:fire_runestone_pedestal.name=符石基座 +tile.ebwizardry\:ice_runestone_pedestal.name=符石基座 +tile.ebwizardry\:lightning_runestone_pedestal.name=符石基座 +tile.ebwizardry\:necromancy_runestone_pedestal.name=符石基座 +tile.ebwizardry\:earth_runestone_pedestal.name=符石基座 +tile.ebwizardry\:healing_runestone_pedestal.name=符石基座 +tile.ebwizardry\:sorcery_runestone_pedestal.name=符石基座 tile.ebwizardry\:thorns.name=荆棘 tile.ebwizardry\:obsidian_crust.name=黑曜石层 tile.ebwizardry\:dry_frosted_ice.name=干燥霜冰 diff --git a/src/main/resources/assets/ebwizardry/lang/zh_tw.lang b/src/main/resources/assets/ebwizardry/lang/zh_tw.lang index 59873014..e3109033 100644 --- a/src/main/resources/assets/ebwizardry/lang/zh_tw.lang +++ b/src/main/resources/assets/ebwizardry/lang/zh_tw.lang @@ -11,8 +11,20 @@ tile.ebwizardry\:transportation_stone.remember=記憶座標位置 %s, %s, %s 於 tile.ebwizardry\:transportation_stone.forget=消除記憶座標位置 %s, %s, %s 於世界: %s tile.ebwizardry\:transportation_stone.invalid=你必須先用8個傳送石圍成一圈! tile.ebwizardry\:spectral_block.name=具現化方塊 -tile.ebwizardry\:runestone.name=符文石 -tile.ebwizardry\:runestone_pedestal.name=符文石座 +tile.ebwizardry\:fire_runestone.name=符文石 +tile.ebwizardry\:ice_runestone.name=符文石 +tile.ebwizardry\:lightning_runestone.name=符文石 +tile.ebwizardry\:necromancy_runestone.name=符文石 +tile.ebwizardry\:earth_runestone.name=符文石 +tile.ebwizardry\:healing_runestone.name=符文石 +tile.ebwizardry\:sorcery_runestone.name=符文石 +tile.ebwizardry\:fire_runestone_pedestal.name=符文石座 +tile.ebwizardry\:ice_runestone_pedestal.name=符文石座 +tile.ebwizardry\:lightning_runestone_pedestal.name=符文石座 +tile.ebwizardry\:necromancy_runestone_pedestal.name=符文石座 +tile.ebwizardry\:earth_runestone_pedestal.name=符文石座 +tile.ebwizardry\:healing_runestone_pedestal.name=符文石座 +tile.ebwizardry\:sorcery_runestone_pedestal.name=符文石座 tile.ebwizardry\:thorns.name=荊棘 tile.ebwizardry\:obsidian_crust.name=黑曜石殼 tile.ebwizardry\:dry_frosted_ice.name=乾的結凍冰 diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_ice.json b/src/main/resources/assets/ebwizardry/recipes/earth_runestone.json similarity index 71% rename from src/main/resources/assets/ebwizardry/recipes/runestone_ice.json rename to src/main/resources/assets/ebwizardry/recipes/earth_runestone.json index cce3b6de..bac8fbef 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_ice.json +++ b/src/main/resources/assets/ebwizardry/recipes/earth_runestone.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 2 + "item": "ebwizardry:earth_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone", - "data": 2, + "item": "ebwizardry:earth_runestone", "count": 8 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_earth.json b/src/main/resources/assets/ebwizardry/recipes/earth_runestone_pedestal.json similarity index 70% rename from src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_earth.json rename to src/main/resources/assets/ebwizardry/recipes/earth_runestone_pedestal.json index 740650c9..7992ed84 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_earth.json +++ b/src/main/resources/assets/ebwizardry/recipes/earth_runestone_pedestal.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 5 + "item": "ebwizardry:earth_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 5, + "item": "ebwizardry:earth_runestone_pedestal", "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_earth.json b/src/main/resources/assets/ebwizardry/recipes/fire_runestone.json similarity index 71% rename from src/main/resources/assets/ebwizardry/recipes/runestone_earth.json rename to src/main/resources/assets/ebwizardry/recipes/fire_runestone.json index e9c6525d..b1cc6752 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_earth.json +++ b/src/main/resources/assets/ebwizardry/recipes/fire_runestone.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 5 + "item": "ebwizardry:fire_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone", - "data": 5, + "item": "ebwizardry:fire_runestone", "count": 8 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_fire.json b/src/main/resources/assets/ebwizardry/recipes/fire_runestone_pedestal.json similarity index 70% rename from src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_fire.json rename to src/main/resources/assets/ebwizardry/recipes/fire_runestone_pedestal.json index 966acb1f..5979d9c6 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_fire.json +++ b/src/main/resources/assets/ebwizardry/recipes/fire_runestone_pedestal.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 1 + "item": "ebwizardry:fire_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 1, + "item": "ebwizardry:fire_runestone_pedestal", "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_fire.json b/src/main/resources/assets/ebwizardry/recipes/healing_runestone.json similarity index 71% rename from src/main/resources/assets/ebwizardry/recipes/runestone_fire.json rename to src/main/resources/assets/ebwizardry/recipes/healing_runestone.json index bbad7ccb..6c105b89 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_fire.json +++ b/src/main/resources/assets/ebwizardry/recipes/healing_runestone.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 1 + "item": "ebwizardry:healing_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone", - "data": 1, + "item": "ebwizardry:healing_runestone", "count": 8 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_healing.json b/src/main/resources/assets/ebwizardry/recipes/healing_runestone_pedestal.json similarity index 70% rename from src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_healing.json rename to src/main/resources/assets/ebwizardry/recipes/healing_runestone_pedestal.json index d61a20a3..327941a9 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_healing.json +++ b/src/main/resources/assets/ebwizardry/recipes/healing_runestone_pedestal.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 7 + "item": "ebwizardry:healing_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 7, + "item": "ebwizardry:healing_runestone_pedestal", "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_healing.json b/src/main/resources/assets/ebwizardry/recipes/ice_runestone.json similarity index 71% rename from src/main/resources/assets/ebwizardry/recipes/runestone_healing.json rename to src/main/resources/assets/ebwizardry/recipes/ice_runestone.json index 91a51a69..e6f47af5 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_healing.json +++ b/src/main/resources/assets/ebwizardry/recipes/ice_runestone.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 7 + "item": "ebwizardry:ice_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone", - "data": 7, + "item": "ebwizardry:ice_runestone", "count": 8 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_ice.json b/src/main/resources/assets/ebwizardry/recipes/ice_runestone_pedestal.json similarity index 70% rename from src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_ice.json rename to src/main/resources/assets/ebwizardry/recipes/ice_runestone_pedestal.json index c9bb2a29..9240f007 100644 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_ice.json +++ b/src/main/resources/assets/ebwizardry/recipes/ice_runestone_pedestal.json @@ -7,8 +7,7 @@ ], "key": { "y": { - "item": "ebwizardry:magic_crystal", - "data": 2 + "item": "ebwizardry:ice_crystal" }, "z": { "type": "forge:ore_dict", @@ -16,8 +15,7 @@ } }, "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 2, + "item": "ebwizardry:ice_runestone_pedestal", "count": 2 } } \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/lightning_runestone.json b/src/main/resources/assets/ebwizardry/recipes/lightning_runestone.json new file mode 100644 index 00000000..b5ca8a34 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/lightning_runestone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "zyz", + "zzz" + ], + "key": { + "y": { + "item": "ebwizardry:lightning_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:lightning_runestone", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/lightning_runestone_pedestal.json b/src/main/resources/assets/ebwizardry/recipes/lightning_runestone_pedestal.json new file mode 100644 index 00000000..6cb0023e --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/lightning_runestone_pedestal.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "yyy", + "zyz" + ], + "key": { + "y": { + "item": "ebwizardry:lightning_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:lightning_runestone_pedestal", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone.json b/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone.json new file mode 100644 index 00000000..723f26ac --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "zyz", + "zzz" + ], + "key": { + "y": { + "item": "ebwizardry:necromancy_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:necromancy_runestone", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone_pedestal.json b/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone_pedestal.json new file mode 100644 index 00000000..69921cc1 --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/necromancy_runestone_pedestal.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "yyy", + "zyz" + ], + "key": { + "y": { + "item": "ebwizardry:necromancy_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:necromancy_runestone_pedestal", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_lightning.json b/src/main/resources/assets/ebwizardry/recipes/runestone_lightning.json deleted file mode 100644 index d18ed59c..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_lightning.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "zyz", - "zzz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 3 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone", - "data": 3, - "count": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_necromancy.json b/src/main/resources/assets/ebwizardry/recipes/runestone_necromancy.json deleted file mode 100644 index 2c90d6e1..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_necromancy.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "zyz", - "zzz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 4 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone", - "data": 4, - "count": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_lightning.json b/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_lightning.json deleted file mode 100644 index f04d08ae..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_lightning.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "yyy", - "zyz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 3 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 3, - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_necromancy.json b/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_necromancy.json deleted file mode 100644 index 5b55f0cb..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_necromancy.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "yyy", - "zyz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 4 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 4, - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_sorcery.json b/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_sorcery.json deleted file mode 100644 index 3de61998..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_pedestal_sorcery.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "yyy", - "zyz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 6 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone_pedestal", - "data": 6, - "count": 2 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/runestone_sorcery.json b/src/main/resources/assets/ebwizardry/recipes/runestone_sorcery.json deleted file mode 100644 index b32ec980..00000000 --- a/src/main/resources/assets/ebwizardry/recipes/runestone_sorcery.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "zzz", - "zyz", - "zzz" - ], - "key": { - "y": { - "item": "ebwizardry:magic_crystal", - "data": 6 - }, - "z": { - "type": "forge:ore_dict", - "ore": "stone" - } - }, - "result": { - "item": "ebwizardry:runestone", - "data": 6, - "count": 8 - } -} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone.json b/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone.json new file mode 100644 index 00000000..b4c8e14f --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "zyz", + "zzz" + ], + "key": { + "y": { + "item": "ebwizardry:sorcery_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:sorcery_runestone", + "count": 8 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone_pedestal.json b/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone_pedestal.json new file mode 100644 index 00000000..6ea1eb9b --- /dev/null +++ b/src/main/resources/assets/ebwizardry/recipes/sorcery_runestone_pedestal.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "zzz", + "yyy", + "zyz" + ], + "key": { + "y": { + "item": "ebwizardry:sorcery_crystal" + }, + "z": { + "type": "forge:ore_dict", + "ore": "stone" + } + }, + "result": { + "item": "ebwizardry:sorcery_runestone_pedestal", + "count": 2 + } +} \ No newline at end of file diff --git a/src/main/resources/assets/ebwizardry/structures/obelisk_0.nbt b/src/main/resources/assets/ebwizardry/structures/obelisk_0.nbt index 97ba3e49..4bfd9821 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/obelisk_0.nbt and b/src/main/resources/assets/ebwizardry/structures/obelisk_0.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/obelisk_1.nbt b/src/main/resources/assets/ebwizardry/structures/obelisk_1.nbt index 6fd0cde2..de9026c0 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/obelisk_1.nbt and b/src/main/resources/assets/ebwizardry/structures/obelisk_1.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/obelisk_2.nbt b/src/main/resources/assets/ebwizardry/structures/obelisk_2.nbt index 0b2ec08f..4a7a06c8 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/obelisk_2.nbt and b/src/main/resources/assets/ebwizardry/structures/obelisk_2.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/obelisk_3.nbt b/src/main/resources/assets/ebwizardry/structures/obelisk_3.nbt index 8da47408..6fe68ceb 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/obelisk_3.nbt and b/src/main/resources/assets/ebwizardry/structures/obelisk_3.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/obelisk_4.nbt b/src/main/resources/assets/ebwizardry/structures/obelisk_4.nbt index 83533027..5062899b 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/obelisk_4.nbt and b/src/main/resources/assets/ebwizardry/structures/obelisk_4.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_0.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_0.nbt index 19427425..ec40ad30 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_0.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_0.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_1.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_1.nbt index 312c1cd6..2bc4ef8d 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_1.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_1.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_2.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_2.nbt index c961ddf2..291912c0 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_2.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_2.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_3.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_3.nbt index 29f41f45..b13dfcf8 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_3.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_3.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_4.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_4.nbt index 21fa5f76..e90b967d 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_4.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_4.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_5.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_5.nbt index 7a61e0bc..a7511e08 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_5.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_5.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_6.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_6.nbt index d699d08c..7a48a511 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_6.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_6.nbt differ diff --git a/src/main/resources/assets/ebwizardry/structures/shrine_7.nbt b/src/main/resources/assets/ebwizardry/structures/shrine_7.nbt index 59cd6518..dae8e13d 100644 Binary files a/src/main/resources/assets/ebwizardry/structures/shrine_7.nbt and b/src/main/resources/assets/ebwizardry/structures/shrine_7.nbt differ