refactor: Flattened the runestone blocks
This commit is contained in:
@@ -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<Element, MapColor> 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) {
|
||||
|
||||
@@ -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> ELEMENT = PropertyEnum.create("element", Element.class,
|
||||
Arrays.copyOfRange(Element.values(), 1, Element.values().length)); // Everything except MAGIC
|
||||
|
||||
private static final EnumMap<Element, MapColor> 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<ItemStack> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+22
-43
@@ -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> 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<ItemStack> 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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
@@ -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, <i>the flattening</i> 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; }
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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!");
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=마른 반투명 얼음
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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=Сухой матовый лёд
|
||||
|
||||
@@ -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=干燥霜冰
|
||||
|
||||
@@ -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=乾的結凍冰
|
||||
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
+2
-4
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user