diff --git a/src/main/java/WayofTime/alchemicalWizardry/altar/BloodAltar.java b/src/main/java/WayofTime/alchemicalWizardry/altar/BloodAltar.java index 6e4861c9..24e6c9ed 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/altar/BloodAltar.java +++ b/src/main/java/WayofTime/alchemicalWizardry/altar/BloodAltar.java @@ -2,9 +2,9 @@ package WayofTime.alchemicalWizardry.altar; import WayofTime.alchemicalWizardry.api.BlockStack; import WayofTime.alchemicalWizardry.api.altar.AltarComponent; -import WayofTime.alchemicalWizardry.api.iface.IAltarComponent; -import WayofTime.alchemicalWizardry.api.enumeration.EnumAltarComponent; -import WayofTime.alchemicalWizardry.api.enumeration.EnumAltarTier; +import WayofTime.alchemicalWizardry.api.altar.IAltarComponent; +import WayofTime.alchemicalWizardry.api.altar.EnumAltarComponent; +import WayofTime.alchemicalWizardry.api.altar.EnumAltarTier; import net.minecraft.block.BlockBeacon; import net.minecraft.block.BlockGlowstone; import net.minecraft.init.Blocks; diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarComponent.java b/src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarComponent.java similarity index 66% rename from src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarComponent.java rename to src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarComponent.java index d0569e10..3a1b35bb 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarComponent.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarComponent.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.api.enumeration; +package WayofTime.alchemicalWizardry.api.altar; public enum EnumAltarComponent { diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarTier.java b/src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarTier.java similarity index 99% rename from src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarTier.java rename to src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarTier.java index f6d9bdf0..dd72ff47 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumAltarTier.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/altar/EnumAltarTier.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.api.enumeration; +package WayofTime.alchemicalWizardry.api.altar; import WayofTime.alchemicalWizardry.api.BlockStack; import WayofTime.alchemicalWizardry.api.altar.AltarComponent; diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/altar/IAltarComponent.java b/src/main/java/WayofTime/alchemicalWizardry/api/altar/IAltarComponent.java new file mode 100644 index 00000000..59866e5d --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/altar/IAltarComponent.java @@ -0,0 +1,6 @@ +package WayofTime.alchemicalWizardry.api.altar; + +public interface IAltarComponent { + + EnumAltarComponent getType(int meta); +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/iface/IBloodAltar.java b/src/main/java/WayofTime/alchemicalWizardry/api/altar/IBloodAltar.java similarity index 94% rename from src/main/java/WayofTime/alchemicalWizardry/api/iface/IBloodAltar.java rename to src/main/java/WayofTime/alchemicalWizardry/api/altar/IBloodAltar.java index f34fe9e7..abd12826 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/iface/IBloodAltar.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/altar/IBloodAltar.java @@ -1,4 +1,4 @@ -package WayofTime.alchemicalWizardry.api.iface; +package WayofTime.alchemicalWizardry.api.altar; public interface IBloodAltar { diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/iface/IAltarComponent.java b/src/main/java/WayofTime/alchemicalWizardry/api/iface/IAltarComponent.java deleted file mode 100644 index ebd14390..00000000 --- a/src/main/java/WayofTime/alchemicalWizardry/api/iface/IAltarComponent.java +++ /dev/null @@ -1,8 +0,0 @@ -package WayofTime.alchemicalWizardry.api.iface; - -import WayofTime.alchemicalWizardry.api.enumeration.EnumAltarComponent; - -public interface IAltarComponent { - - EnumAltarComponent getType(int meta); -} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumStoneType.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/EnumRuneType.java similarity index 72% rename from src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumStoneType.java rename to src/main/java/WayofTime/alchemicalWizardry/api/ritual/EnumRuneType.java index 5aa4bf2e..686e3aee 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/api/enumeration/EnumStoneType.java +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/EnumRuneType.java @@ -1,10 +1,10 @@ -package WayofTime.alchemicalWizardry.api.enumeration; +package WayofTime.alchemicalWizardry.api.ritual; import net.minecraft.util.IStringSerializable; import java.util.Locale; -public enum EnumStoneType implements IStringSerializable { +public enum EnumRuneType implements IStringSerializable { BLANK, WATER, @@ -24,7 +24,7 @@ public enum EnumStoneType implements IStringSerializable { return this.toString(); } - public static EnumStoneType byMetadata(int meta) { + public static EnumRuneType byMetadata(int meta) { if (meta < 0 || meta >= values().length) meta = 0; diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IMasterRitualStone.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IMasterRitualStone.java new file mode 100644 index 00000000..44dac37a --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IMasterRitualStone.java @@ -0,0 +1,38 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import WayofTime.alchemicalWizardry.api.ritual.LocalRitualStorage; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; +import net.minecraft.world.World; + +public interface IMasterRitualStone { + + void performRitual(World world, BlockPos pos, String ritualID); + + String getOwner(); + + void setCooldown(int cooldown); + + int getCooldown(); + + void setActive(boolean active); + + EnumFacing getDirection(); + + World getWorld(); + + BlockPos getPos(); + + NBTTagCompound getCustomRitualTag(); + + void setCustomRitualTag(NBTTagCompound tag); + + boolean areTanksEmpty(); + + int getRunningTime(); + + LocalRitualStorage getLocalStorage(); + + void setLocalStorage(LocalRitualStorage storage); +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IRitualStone.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IRitualStone.java new file mode 100644 index 00000000..e0034239 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/IRitualStone.java @@ -0,0 +1,13 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import net.minecraft.util.BlockPos; +import net.minecraft.world.World; + +public interface IRitualStone { + + boolean isRuneType(World world, BlockPos pos, int meta, EnumRuneType runeType); + + interface Tile { + boolean isRuneType(EnumRuneType runeType); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/LocalRitualStorage.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/LocalRitualStorage.java new file mode 100644 index 00000000..f58c3fe7 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/LocalRitualStorage.java @@ -0,0 +1,28 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import WayofTime.alchemicalWizardry.api.NBTHolder; +import lombok.Getter; +import lombok.Setter; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.BlockPos; + +/** + * This class is used to pass ritual-specific data into the RitualEffect from the containing Master Ritual Stone. This is basically used as auxiliary storage, + * for when simply storing to NBT becomes... difficult. + */ +@Getter +@Setter +public class LocalRitualStorage { + + private BlockPos pos; + + public void writeToNBT(NBTTagCompound tagCompound) { + tagCompound.setInteger(NBTHolder.NBT_COORDX, pos.getX()); + tagCompound.setInteger(NBTHolder.NBT_COORDY, pos.getY()); + tagCompound.setInteger(NBTHolder.NBT_COORDZ, pos.getZ()); + } + + public void readFromNBT(NBTTagCompound tagCompound) { + this.pos = new BlockPos(tagCompound.getInteger(NBTHolder.NBT_COORDX), tagCompound.getInteger(NBTHolder.NBT_COORDY), tagCompound.getInteger(NBTHolder.NBT_COORDZ)); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/Ritual.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/Ritual.java new file mode 100644 index 00000000..14c919ad --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/Ritual.java @@ -0,0 +1,49 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import net.minecraft.entity.player.EntityPlayer; + +import java.util.ArrayList; + +@Getter +@RequiredArgsConstructor +public class Ritual { + + private final String name; + private final int crystalLevel; + private final int activationCost; + private final RitualEffect ritualEffect; + private final RitualRenderer renderer; + + public Ritual(String name, int crystalLevel, int activationCost, RitualEffect ritualEffect) { + this(name, crystalLevel, activationCost, ritualEffect, null); + } + + public ArrayList getComponents() { + return this.getRitualEffect().getComponents(); + } + + public void performEffect(IMasterRitualStone masterRitualStone) { + if (ritualEffect != null && RitualRegistry.ritualEnabled(this)) + ritualEffect.performEffect(masterRitualStone); + } + + public boolean startRitual(IMasterRitualStone masterRitualStone, EntityPlayer player) { + return ritualEffect != null && RitualRegistry.ritualEnabled(this) && ritualEffect.startRitual(masterRitualStone, player); + } + + public void onBreak(IMasterRitualStone masterRitualStone, BreakType breakType) { + if (ritualEffect != null && RitualRegistry.ritualEnabled(this)) + ritualEffect.onRitualBroken(masterRitualStone, breakType); + } + + public enum BreakType { + REDSTONE, + BREAK_MRS, + BREAK_STONE, + ACTIVATE, + DEACTIVATE, + EXPLOSION, + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualComponent.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualComponent.java new file mode 100644 index 00000000..70209a56 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualComponent.java @@ -0,0 +1,40 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import net.minecraft.util.BlockPos; +import net.minecraft.util.EnumFacing; + +@Getter +@RequiredArgsConstructor +public class RitualComponent { + + private final BlockPos offset; + private final EnumRuneType runeType; + + public int getX(EnumFacing direction) { + switch (direction) { + case EAST: + return -this.getOffset().getZ(); + case SOUTH: + return -this.getOffset().getX(); + case WEST: + return this.getOffset().getZ(); + default: + return this.getOffset().getX(); + } + } + + public int getZ(EnumFacing direction) { + switch (direction) { + case EAST: + return this.getOffset().getX(); + case SOUTH: + return -this.getOffset().getZ(); + case WEST: + return -this.getOffset().getX(); + default: + return this.getOffset().getZ(); + } + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualEffect.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualEffect.java new file mode 100644 index 00000000..352c9f91 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualEffect.java @@ -0,0 +1,54 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.BlockPos; + +import java.util.ArrayList; + +// TODO - Return after Reagents are done +public abstract class RitualEffect { + + public boolean startRitual(IMasterRitualStone masterRitualStone, EntityPlayer player) { + return true; + } + + public void onRitualBroken(IMasterRitualStone masterRitualStone, Ritual.BreakType breakType) { + + } + + public LocalRitualStorage getNewLocalStorage() { + return new LocalRitualStorage(); + } + + public void addOffsetRunes(ArrayList ritualList, int offset1, int offset2, int y, EnumRuneType rune) { + ritualList.add(new RitualComponent(new BlockPos(offset1, y, offset2), rune)); + ritualList.add(new RitualComponent(new BlockPos(offset2, y, offset1), rune)); + ritualList.add(new RitualComponent(new BlockPos(offset1, y, -offset2), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset2, y, offset1), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset1, y, offset2), rune)); + ritualList.add(new RitualComponent(new BlockPos(offset2, y, -offset1), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset1, y, -offset2), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset2, y, -offset1), rune)); + } + + public void addCornerRunes(ArrayList ritualList, int offset, int y, EnumRuneType rune) { + ritualList.add(new RitualComponent(new BlockPos(offset, y, offset), rune)); + ritualList.add(new RitualComponent(new BlockPos(offset, y, -offset), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset, y, -offset), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset, y, offset), rune)); + } + + public void addParallelRunes(ArrayList ritualList, int offset, int y, EnumRuneType rune) { + ritualList.add(new RitualComponent(new BlockPos(offset, y, 0), rune)); + ritualList.add(new RitualComponent(new BlockPos(-offset, y, 0), rune)); + ritualList.add(new RitualComponent(new BlockPos(0, y, -offset), rune)); + ritualList.add(new RitualComponent(new BlockPos(0, y, offset), rune)); + } + + public abstract void performEffect(IMasterRitualStone masterRitualStone); + + public abstract int getRefreshCost(); + + public abstract ArrayList getComponents(); + +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRegistry.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRegistry.java new file mode 100644 index 00000000..e004ba27 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRegistry.java @@ -0,0 +1,109 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import WayofTime.alchemicalWizardry.AlchemicalWizardry; +import com.google.common.collect.BiMap; +import com.google.common.collect.HashBiMap; +import net.minecraftforge.common.config.Configuration; +import sun.misc.Launcher; + +import java.io.File; +import java.net.URL; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class RitualRegistry { + + public static final Map enabledRituals = new HashMap(); + private static BiMap registry = HashBiMap.create(); + + /** + * The safe way to register a new Ritual. + * + * @param ritual - The ritual to register. + * @param id - The ID for the ritual. Cannot be duplicated. + */ + public static void registerRitual(Ritual ritual, String id) { + if (ritual != null) { + if (registry.containsKey(id)) + AlchemicalWizardry.instance.getLogger().error("Duplicate ritual id: " + id); + else + registry.put(id, ritual); + } + } + + public static Ritual getRitualForId(String id) { + return registry.get(id); + } + + public static String getIdForRitual(Ritual ritual) { + return registry.inverse().get(ritual); + } + + public static boolean isMapEmpty() { + return registry.isEmpty(); + } + + public static int getMapSize() { + return registry.size(); + } + + public static boolean ritualEnabled(Ritual ritual) { + return enabledRituals.get(ritual.getRitualEffect()); + } + + public static ArrayList getIds() { + return new ArrayList(registry.keySet()); + } + + public static ArrayList getRituals() { + return new ArrayList(registry.values()); + } + + /** + * Adds your Ritual to the {@link RitualRegistry#enabledRituals} Map. + * This is used to determine whether your effect is enabled or not. + * + * The config option will be created as {@code B:ClassName=true} with a comment of + * {@code Enables the ClassName ritual}. + * + * Should be safe to modify at any point. + * + * @param config - Your mod's Forge {@link Configuration} object. + * @param packageName - The package your Rituals are located in. + * @param category - The config category to write to. + */ + public static void checkRituals(Configuration config, String packageName, String category) { + String name = packageName; + if (!name.startsWith("/")) + name = "/" + name; + + name = name.replace('.', '/'); + URL url = Launcher.class.getResource(name); + File directory = new File(url.getFile()); + + if (directory.exists()) { + String[] files = directory.list(); + + for (String file : files) { + if (file.endsWith(".class")) { + String className = file.substring(0, file.length() - 6); + + try { + Object o = Class.forName(packageName + "." + className).newInstance(); + + if (o instanceof RitualEffect) + RitualRegistry.enabledRituals.put((RitualEffect) o, config.get(category, className, true).getBoolean()); + + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (InstantiationException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRenderer.java b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRenderer.java new file mode 100644 index 00000000..753f94a4 --- /dev/null +++ b/src/main/java/WayofTime/alchemicalWizardry/api/ritual/RitualRenderer.java @@ -0,0 +1,13 @@ +package WayofTime.alchemicalWizardry.api.ritual; + +import net.minecraft.client.Minecraft; +import net.minecraft.util.ResourceLocation; + +public abstract class RitualRenderer { + + public abstract void renderAt(IMasterRitualStone masterRitualStone, double x, double y, double z); + + protected void bindTexture(ResourceLocation resourceLocation) { + Minecraft.getMinecraft().getTextureManager().bindTexture(resourceLocation); + } +} diff --git a/src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualHome.java b/src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualController.java similarity index 96% rename from src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualHome.java rename to src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualController.java index 3da1bc81..5281c00b 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualHome.java +++ b/src/main/java/WayofTime/alchemicalWizardry/block/BlockRitualController.java @@ -18,12 +18,12 @@ import net.minecraftforge.fml.relauncher.SideOnly; import java.util.List; -public class BlockRitualHome extends Block { +public class BlockRitualController extends Block { public static final String[] names = { "master", "imperfect" }; public static final PropertyInteger META = PropertyInteger.create("meta", 0, names.length - 1); - public BlockRitualHome() { + public BlockRitualController() { super(Material.rock); setUnlocalizedName(AlchemicalWizardry.MODID + ".stone.ritual."); diff --git a/src/main/java/WayofTime/alchemicalWizardry/item/block/ItemBlockRitualHome.java b/src/main/java/WayofTime/alchemicalWizardry/item/block/ItemBlockRitualHome.java index cea2b12a..e1f003fb 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/item/block/ItemBlockRitualHome.java +++ b/src/main/java/WayofTime/alchemicalWizardry/item/block/ItemBlockRitualHome.java @@ -1,6 +1,6 @@ package WayofTime.alchemicalWizardry.item.block; -import WayofTime.alchemicalWizardry.block.BlockRitualHome; +import WayofTime.alchemicalWizardry.block.BlockRitualController; import net.minecraft.block.Block; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; @@ -15,7 +15,7 @@ public class ItemBlockRitualHome extends ItemBlock { @Override public String getUnlocalizedName(ItemStack stack) { - return super.getUnlocalizedName(stack) + BlockRitualHome.names[stack.getItemDamage()]; + return super.getUnlocalizedName(stack) + BlockRitualController.names[stack.getItemDamage()]; } @Override diff --git a/src/main/java/WayofTime/alchemicalWizardry/item/sigil/ItemSigilDivination.java b/src/main/java/WayofTime/alchemicalWizardry/item/sigil/ItemSigilDivination.java index 27bbb4cd..df0e6a04 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/item/sigil/ItemSigilDivination.java +++ b/src/main/java/WayofTime/alchemicalWizardry/item/sigil/ItemSigilDivination.java @@ -1,6 +1,6 @@ package WayofTime.alchemicalWizardry.item.sigil; -import WayofTime.alchemicalWizardry.api.iface.IBloodAltar; +import WayofTime.alchemicalWizardry.api.altar.IBloodAltar; import WayofTime.alchemicalWizardry.api.util.helper.BindableHelper; import WayofTime.alchemicalWizardry.api.util.helper.NetworkHelper; import WayofTime.alchemicalWizardry.util.ChatUtil; diff --git a/src/main/java/WayofTime/alchemicalWizardry/registry/ModBlocks.java b/src/main/java/WayofTime/alchemicalWizardry/registry/ModBlocks.java index c124065d..e348af6e 100644 --- a/src/main/java/WayofTime/alchemicalWizardry/registry/ModBlocks.java +++ b/src/main/java/WayofTime/alchemicalWizardry/registry/ModBlocks.java @@ -4,14 +4,11 @@ import WayofTime.alchemicalWizardry.AlchemicalWizardry; import WayofTime.alchemicalWizardry.ConfigHandler; import WayofTime.alchemicalWizardry.block.BlockAltar; import WayofTime.alchemicalWizardry.block.BlockLifeEssence; -import WayofTime.alchemicalWizardry.block.BlockRitualHome; +import WayofTime.alchemicalWizardry.block.BlockRitualController; import WayofTime.alchemicalWizardry.item.block.ItemBlockRitualHome; import WayofTime.alchemicalWizardry.util.helper.InventoryRenderHelper; import net.minecraft.block.Block; -import net.minecraft.client.resources.model.ModelResourceLocation; -import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; -import net.minecraftforge.client.model.ModelLoader; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fml.common.registry.GameRegistry; @@ -31,7 +28,7 @@ public class ModBlocks { lifeEssence = registerBlock(new BlockLifeEssence()); altar = registerBlock(new BlockAltar()); - ritualStone = registerBlock(new BlockRitualHome(), ItemBlockRitualHome.class); + ritualStone = registerBlock(new BlockRitualController(), ItemBlockRitualHome.class); initTiles(); } diff --git a/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualController.json b/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualController.json new file mode 100644 index 00000000..a13b6089 --- /dev/null +++ b/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualController.json @@ -0,0 +1,24 @@ +{ + "forge_marker": 1, + "defaults": { + "textures": { + "all": "alchemicalwizardry:blocks/MasterRitualStone" + }, + "model": "cube_all", + "uvlock": true + }, + "variants": { + "meta": { + "0": { + "textures": { + "all": "alchemicalwizardry:blocks/MasterRitualStone" + } + }, + "1": { + "textures": { + "all": "alchemicalwizardry:blocks/ImperfectRitualStone" + } + } + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualHome.json b/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualHome.json deleted file mode 100644 index 76900457..00000000 --- a/src/main/resources/assets/alchemicalwizardry/blockstates/BlockRitualHome.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "variants": { - "meta=0": { "model": "alchemicalwizardry:BlockRitualHome0" }, - "meta=1": { "model": "alchemicalwizardry:BlockRitualHome1" } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualHome0.json b/src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualController0.json similarity index 100% rename from src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualHome0.json rename to src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualController0.json diff --git a/src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualHome1.json b/src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualController1.json similarity index 100% rename from src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualHome1.json rename to src/main/resources/assets/alchemicalwizardry/models/block/BlockRitualController1.json diff --git a/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome0.json b/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController0.json similarity index 72% rename from src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome0.json rename to src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController0.json index a6c70f96..8fd22623 100644 --- a/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome0.json +++ b/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController0.json @@ -1,5 +1,5 @@ { - "parent": "alchemicalwizardry:block/BlockRitualHome0", + "parent": "alchemicalwizardry:block/BlockRitualController0", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ], diff --git a/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome1.json b/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController1.json similarity index 72% rename from src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome1.json rename to src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController1.json index a195b24f..55fed4bb 100644 --- a/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualHome1.json +++ b/src/main/resources/assets/alchemicalwizardry/models/item/BlockRitualController1.json @@ -1,5 +1,5 @@ { - "parent": "alchemicalwizardry:block/BlockRitualHome1", + "parent": "alchemicalwizardry:block/BlockRitualController1", "display": { "thirdperson": { "rotation": [ 10, -45, 170 ],