Update to release 1.0.0! Finished adding new compasses, textures, recipes, and working Netcode.

This commit is contained in:
Yavin7
2018-11-07 11:33:15 -06:00
parent 9854033a78
commit 23ab71212a
348 changed files with 1407 additions and 431 deletions

View File

@@ -38,23 +38,18 @@ dependencies {
// or you may define them like so..
//compile "some.group:artifact:version:classifier"
//compile "some.group:artifact:version"
// real examples
//compile 'com.mod-buildcraft:buildcraft:6.0.8:dev' // adds buildcraft to the dev env
//compile 'com.googlecode.efficient-java-matrix-library:ejml:0.24' // adds ejml to the dev env
// the 'provided' configuration is for optional dependencies that exist at compile-time but might not at runtime.
//provided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// the deobf configurations: 'deobfCompile' and 'deobfProvided' are the same as the normal compile and provided,
// except that these dependencies get remapped to your current MCP mappings
//deobfCompile 'com.mod-buildcraft:buildcraft:6.0.8:dev'
//deobfProvided 'com.mod-buildcraft:buildcraft:6.0.8:dev'
// for more info...
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html
}
processResources {

View File

@@ -1,8 +1,10 @@
package net.yseven.findyourway.Client;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItemFrame;
import net.minecraft.entity.passive.EntityChicken;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.ItemStack;
import net.minecraft.util.math.BlockPos;
@@ -10,7 +12,7 @@ import net.minecraft.util.math.MathHelper;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.yseven.findyourway.item.ItemCompassBase;
import net.yseven.findyourway.CommonProxy;
import javax.annotation.Nullable;
import javax.annotation.ParametersAreNonnullByDefault;
@@ -25,32 +27,58 @@ public class AngleGetter implements IItemPropertyGetter {
@SideOnly(Side.CLIENT)
private BlockPos blockPos;
@SideOnly(Side.CLIENT)
AngleGetter(ItemCompassBase compassBase) {
this.blockPos = compassBase.getStructurePos();
}
@Override
@ParametersAreNonnullByDefault
@SideOnly(Side.CLIENT)
public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
if (entityIn == null && !stack.isOnItemFrame()) return 0.0F;
final boolean entityExists = entityIn != null;
boolean isLiving = entityIn != null;
Entity errorChicken = new EntityChicken(Minecraft.getMinecraft().world);
final Entity entity = (Entity) (entityExists ? entityIn : stack.getItemFrame());
Entity entity;
if(isLiving) {
entity = entityIn;
} else if(stack.getItemFrame() != null) {
entity = stack.getItemFrame();
} else {
entity = errorChicken;
}
if (worldIn == null) worldIn = entity.world;
double rotation = entityExists ? (double) entity.rotationYaw : getFrameAngle((EntityItemFrame) entity);
rotation %= 360.0D;
double angle;
setBlockPos(stack);
double adjusted = Math.PI - ((rotation - 90.0D) * 0.01745329238474369D - getAngle(worldIn, entity, stack));
if(blockPos != null) {
if (blockPos.getY() == 0) return 0.0F;
double entityAngle;
if(isLiving) {
entityAngle = entity.rotationYaw;
} else if(stack.getItemFrame() != null) {
entityAngle = getFrameAngle((EntityItemFrame) entity);
} else {
return 0.0F;
}
if (entityExists) adjusted = wobble(worldIn, adjusted);
entityAngle /= 360.0D;
entityAngle = MathHelper.positiveModulo(entityAngle, 1.0D);
double posAngle = getAngle(blockPos, entity);
posAngle /= Math.PI * 2D;
angle = 0.5D - (entityAngle - 0.25D - posAngle);
} else {
if(!ClientProxy.hasAngleErrrored()) {
System.out.println("Compass angle is random due to an unexpected error");
ClientProxy.AngleHasErrored();
}
angle = 0.0D;
}
final float f = (float) (adjusted / (Math.PI * 2D));
return MathHelper.positiveModulo(f, 1.0F);
if(isLiving) {
angle = wobble(worldIn, angle);
}
return MathHelper.positiveModulo((float) angle, 1.0F);
}
@SideOnly(Side.CLIENT)
@@ -68,13 +96,21 @@ public class AngleGetter implements IItemPropertyGetter {
}
@SideOnly(Side.CLIENT)
private double getAngle(World world, Entity entity, ItemStack stack) {
if(blockPos != null) {
return Math.atan2((double) blockPos.getZ() - entity.posZ, (double) blockPos.getX() - entity.posX);
} else {
return (double) 0;
private void setBlockPos(ItemStack stack) {
for (int i = 0; i < CommonProxy.compassList.size(); i++) {
if (stack.getItem().getUnlocalizedName().equals(CommonProxy.compassList.get(i).getUnlocalizedName())) {
blockPos = CommonProxy.compassList.get(i).getStructurePos();
} else {
if (!ClientProxy.hasAngleErrrored()) {
System.out.println("unable to get blockPos from compassList in AngleGetter class");
}
}
}
}
@SideOnly(Side.CLIENT)
private double getAngle(BlockPos pos, Entity ent) {
return MathHelper.atan2(pos.getZ() - ent.posZ, pos.getX() - ent.posX);
}
@SideOnly(Side.CLIENT)

View File

@@ -4,9 +4,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.MinecraftForge;
@@ -20,8 +18,9 @@ import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.yseven.findyourway.CommonProxy;
import net.yseven.findyourway.FindYourWay;
import net.yseven.findyourway.Network.PacketHandler;
import net.yseven.findyourway.Network.PacketSendKey;
import net.yseven.findyourway.Network.MessageHandlerOnClient;
import net.yseven.findyourway.Network.MessageToClient;
import net.yseven.findyourway.Network.MessageToServer;
import net.yseven.findyourway.item.ItemCompassBase;
import net.yseven.findyourway.item.ModItems;
@@ -32,28 +31,30 @@ public class ClientProxy extends CommonProxy {
public static Minecraft getMinecraft() {
return FMLClientHandler.instance().getClient();
}
public static WorldClient getWorld() {
return getMinecraft().world;
}
public static EntityPlayerSP getPlayer() {
return getMinecraft().player;
}
private static boolean angleError = false;
//TO-DO fill out the following methods
public static boolean hasCompass(ItemCompassBase compass) {
return getPlayer() != null && CommonProxy.containsCompass(getPlayer().inventory, compass);
public static boolean hasAngleErrrored() {
return angleError;
}
public static void setStructurePos(ItemCompassBase compassBase, BlockPos pos) {
compassBase.setStructurePos(pos);
public static void AngleHasErrored() {
angleError = true;
}
public static boolean hasCompass(ItemCompassBase compass) {
return getPlayer() != null && CommonProxy.containsCompass(getPlayer().inventory, compass);
}
public static void resetStructurePos(ItemCompassBase compass) {
compass.setStructurePos(null);
compass.setStructureWorld(getWorld());
PacketHandler.INSTANCE.sendToServer(new PacketSendKey(compass));
CommonProxy.simpleNetworkWrapper.sendToServer(new MessageToServer(compass));
}
//Proxy Info
@@ -61,6 +62,7 @@ public class ClientProxy extends CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
super.preInit(event);
MinecraftForge.EVENT_BUS.register(this);
CommonProxy.simpleNetworkWrapper.registerMessage(MessageHandlerOnClient.class, MessageToClient.class, CommonProxy.MESSAGE_TO_CLIENT_ID, Side.CLIENT);
}
@Override
@@ -73,23 +75,22 @@ public class ClientProxy extends CommonProxy {
super.postInit(event);
}
@Mod.EventBusSubscriber
public static class RegistrationHandler {
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event) {
@SubscribeEvent
public static void registerModels(ModelRegistryEvent event) {
ModItems.registerModels();
}
}
@SubscribeEvent
public void onModelRegistry(ModelRegistryEvent event) {
registerModel(ModItems.ENDER_COMPASS);
registerModel(ModItems.VILLAGE_COMPASS);
registerModel(ModItems.FORTRESS_COMPASS);
registerModel(ModItems.MONUMENT_COMPASS);
}
private void registerModel(ItemCompassBase compass) {
compass.addPropertyOverride(new ResourceLocation(compass.assetTag), new AngleGetter(compass));
ModelLoader.setCustomModelResourceLocation(compass, 0, new ModelResourceLocation(FindYourWay.modId + ":" + compass.getUnlocalizedName(), "inventory"));
compass.addPropertyOverride(new ResourceLocation("angle"), new AngleGetter());
ModelLoader.setCustomModelResourceLocation(compass, 0, new ModelResourceLocation(FindYourWay.modId + ":" + compass.getUnlocalizedName()));
}
@SubscribeEvent
@@ -102,4 +103,4 @@ public class ClientProxy extends CommonProxy {
}
}
}
}
}

View File

@@ -9,7 +9,13 @@ import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.yseven.findyourway.Network.PacketHandler;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
import net.yseven.findyourway.Network.MessageHandlerOnServer;
import net.yseven.findyourway.Network.MessageHandlerOnServerDummy;
import net.yseven.findyourway.Network.MessageToClient;
import net.yseven.findyourway.Network.MessageToServer;
import net.yseven.findyourway.item.ItemCompassBase;
import net.yseven.findyourway.item.ModItems;
@@ -18,14 +24,21 @@ import java.util.ArrayList;
@Mod.EventBusSubscriber
public class CommonProxy {
public static ArrayList<ItemCompassBase> compassList = new ArrayList<>();
public static ArrayList<ItemCompassBase> compassList = new ArrayList<ItemCompassBase>();
public static SimpleNetworkWrapper simpleNetworkWrapper;
public static final byte MESSAGE_TO_SERVER_ID = 71;
public static final byte MESSAGE_TO_CLIENT_ID = 72;
public void preInit(FMLPreInitializationEvent event) {
ModItems.init();
PacketHandler.registerMessages(FindYourWay.modId);
simpleNetworkWrapper = NetworkRegistry.INSTANCE.newSimpleChannel(FindYourWay.modId);
simpleNetworkWrapper.registerMessage(MessageHandlerOnServer.class, MessageToServer.class, MESSAGE_TO_SERVER_ID, Side.SERVER);
simpleNetworkWrapper.registerMessage(MessageHandlerOnServerDummy.class, MessageToClient.class, MESSAGE_TO_CLIENT_ID, Side.SERVER);
}
public void init(FMLInitializationEvent event) {
public void init(FMLInitializationEvent event) {
}
@@ -33,12 +46,12 @@ public class CommonProxy {
}
@SubscribeEvent
public static void registerItems(RegistryEvent.Register<Item> event) {
event.getRegistry().registerAll(
ModItems.ENDER_COMPASS
);
event.getRegistry().register(ModItems.ENDER_COMPASS);
event.getRegistry().register(ModItems.VILLAGE_COMPASS);
event.getRegistry().register(ModItems.FORTRESS_COMPASS);
event.getRegistry().register(ModItems.MONUMENT_COMPASS);
}
public static boolean containsCompass(IInventory inventory, ItemCompassBase compass) {
@@ -55,6 +68,8 @@ public class CommonProxy {
switch (compass.getStructureType()){
case "Stronghold": return 1;
case "Village": return 2;
case "Fortress": return 3;
case "Monument": return 4;
default: return 0;
}
}
@@ -63,6 +78,8 @@ public class CommonProxy {
switch (id) {
case 1: return ModItems.ENDER_COMPASS;
case 2: return ModItems.VILLAGE_COMPASS;
case 3: return ModItems.FORTRESS_COMPASS;
case 4: return ModItems.MONUMENT_COMPASS;
default:
ItemCompassBase ERROR_COMPASS = new ItemCompassBase("error", "");
return ERROR_COMPASS;

View File

@@ -12,20 +12,16 @@ import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
public class FindYourWay {
public static final String modId = "findyourway";
public static final String name = "Find Your Way";
public static final String version = "1.0.0-beta";
public static final String version = "1.0.0";
@Mod.Instance(modId)
public static FindYourWay instance;
@SidedProxy(serverSide = "net.yseven.findyourway.CommonProxy", clientSide = "net.yseven.findyourway.Client.ClientProxy")
public static CommonProxy proxy;
public static SimpleNetworkWrapper network;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
System.out.println(name + " is loading!");
System.out.println("FIND YOUR WAY TEST LINE -------------------------------------- TEST");
proxy.preInit(event);
}

View File

@@ -0,0 +1,31 @@
package net.yseven.findyourway.Network;
import net.minecraft.client.Minecraft;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.minecraftforge.fml.relauncher.Side;
import net.yseven.findyourway.item.ItemCompassBase;
public class MessageHandlerOnClient implements IMessageHandler<MessageToClient, IMessage> {
public IMessage onMessage(final MessageToClient message, MessageContext ctx) {
if (ctx.side != Side.CLIENT) {
System.err.println("MessageToClient received on wrong side: " + ctx.side);
return null;
}
if(!message.isMessageIsValid()) {
System.err.println("MessageToClient is not valid: " + message.toString());
return null;
}
Minecraft minecraft = Minecraft.getMinecraft();
minecraft.addScheduledTask(() -> processMessage(message.getCompass(), message.getStructurePos()));
return null;
}
private void processMessage(ItemCompassBase compass, BlockPos pos) {
compass.setStructurePos(pos);
}
}

View File

@@ -0,0 +1,49 @@
package net.yseven.findyourway.Network;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldServer;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.minecraftforge.fml.relauncher.Side;
import net.yseven.findyourway.CommonProxy;
public class MessageHandlerOnServer implements IMessageHandler<MessageToServer, IMessage> {
public IMessage onMessage(final MessageToServer message, MessageContext ctx) {
if(ctx.side != Side.SERVER) {
System.err.println("MessageToServer received on wrong side: " + ctx.side);
return null;
}
if(!message.isMessageIsValid()) {
System.err.println("MessageToServer is not valid: " + message.toString());
}
final EntityPlayerMP sendingPlayer = ctx.getServerHandler().player;
if(sendingPlayer == null) {
System.err.println("EntityPlayerMP was null MessageToServer was received!");
return null;
}
final WorldServer playerWorldServer = sendingPlayer.getServerWorld();
playerWorldServer.addScheduledTask(() -> processMessage(message, sendingPlayer));
return null;
}
private void processMessage(MessageToServer message, EntityPlayerMP sendingPlayer) {
int dimension = sendingPlayer.dimension;
WorldServer world = (WorldServer)sendingPlayer.world;
BlockPos structurePos;
if(world.getChunkProvider().getNearestStructurePos(world, message.getStructureType(), sendingPlayer.getPosition(), true) != null) {
structurePos = world.getChunkProvider().getNearestStructurePos(world, message.getStructureType(), sendingPlayer.getPosition(), true);
} else {
structurePos = new BlockPos(0, 0, 0);
}
MessageToClient msg = new MessageToClient(structurePos, message.getCompass());
if (dimension == sendingPlayer.dimension) {
CommonProxy.simpleNetworkWrapper.sendTo(msg, sendingPlayer);
}
}
}

View File

@@ -0,0 +1,12 @@
package net.yseven.findyourway.Network;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
public class MessageHandlerOnServerDummy implements IMessageHandler<MessageToClient, IMessage> {
public IMessage onMessage(final MessageToClient message, MessageContext ctx) {
System.err.println("TargetEffectMessageToClient received on wrong side:" + ctx.side);
return null;
}
}

View File

@@ -0,0 +1,63 @@
package net.yseven.findyourway.Network;
import io.netty.buffer.ByteBuf;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.yseven.findyourway.item.ItemCompassBase;
public class MessageToClient implements IMessage {
private ItemCompassBase compass;
private BlockPos structurePos;
private boolean messageIsValid;
public boolean isMessageIsValid() {
return messageIsValid;
}
public ItemCompassBase getCompass() {
return compass;
}
public BlockPos getStructurePos() {
return structurePos;
}
public MessageToClient() {
messageIsValid = false;
}
public MessageToClient(BlockPos pos, ItemCompassBase compassBase) {
structurePos = pos;
compass = compassBase;
messageIsValid = true;
}
@Override
public void fromBytes(ByteBuf buf) {
try {
double x = buf.readDouble();
double y = buf.readDouble();
double z = buf.readDouble();
structurePos = new BlockPos(x, y, z);
compass = ItemCompassBase.fromBytes(buf);
} catch (IndexOutOfBoundsException ioe) {
System.err.println("Error while reading MessageToClient: " + ioe);
return;
}
messageIsValid = true;
}
@Override
public void toBytes(ByteBuf buf) {
if(!isMessageIsValid()) return;
buf.writeDouble(structurePos.getX());
buf.writeDouble(structurePos.getY());
buf.writeDouble(structurePos.getZ());
compass.toBytes(buf);
}
@Override
public String toString() {
return "Structure Position is: " + structurePos.toString() + "!";
}
}

View File

@@ -0,0 +1,55 @@
package net.yseven.findyourway.Network;
import io.netty.buffer.ByteBuf;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.yseven.findyourway.item.ItemCompassBase;
public class MessageToServer implements IMessage {
private ItemCompassBase compass;
private String structureType;
private boolean messageIsValid;
public MessageToServer(ItemCompassBase compassItem) {
compass = compassItem;
messageIsValid = true;
}
public String getStructureType() {
return structureType;
}
public ItemCompassBase getCompass() {
return compass;
}
public boolean isMessageIsValid() {
return messageIsValid;
}
public MessageToServer() {
messageIsValid = false;
}
@Override
public void fromBytes(ByteBuf buf) {
try {
compass = ItemCompassBase.fromBytes(buf);
} catch (IndexOutOfBoundsException ioe) {
System.err.println("Exception while reading MessageToServer: " + ioe);
return;
}
structureType = compass.getStructureType();
messageIsValid = true;
}
@Override
public void toBytes(ByteBuf buf){
if(!isMessageIsValid()) return;
compass.toBytes(buf);
}
@Override
public String toString() {
return "MessageToServer[compass=" + String.valueOf(compass) + ", structurePos=]";
}
}

View File

@@ -1,41 +0,0 @@
package net.yseven.findyourway.Network;
import io.netty.buffer.ByteBuf;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.yseven.findyourway.Client.ClientProxy;
import net.yseven.findyourway.CommonProxy;
import net.yseven.findyourway.item.ItemCompassBase;
public class PacketGetKey implements IMessage, IMessageHandler<PacketGetKey, IMessage> {
private BlockPos structurePos;
private ItemCompassBase compass;
public PacketGetKey() {}
public PacketGetKey(BlockPos pos, int id) {
structurePos = pos;
compass = CommonProxy.getCompassId(id);
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeLong(structurePos.toLong());
buf.writeInt(CommonProxy.setCompassId(compass));
}
@Override
public void fromBytes(ByteBuf buf) {
structurePos = BlockPos.fromLong(buf.readLong());
compass = CommonProxy.getCompassId(buf.readInt());
}
@Override
public IMessage onMessage(PacketGetKey message, MessageContext ctx) {
//Client Code
ClientProxy.getMinecraft().addScheduledTask(() -> ClientProxy.setStructurePos(message.compass, message.structurePos));
return null;
}
}

View File

@@ -1,30 +0,0 @@
package net.yseven.findyourway.Network;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.relauncher.Side;
@SuppressWarnings("WeakerAccess")
public class PacketHandler {
private static int packetId = 0;
public static SimpleNetworkWrapper INSTANCE = null;
public PacketHandler() {
}
public static int nextID() {
return packetId++;
}
public static void registerMessages(String channelName) {
INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(channelName);
registerMessages();
}
public static void registerMessages() {
// Register messages which are sent from the client to the server here:
INSTANCE.registerMessage(PacketSendKey.Handler.class, PacketSendKey.class, nextID(), Side.SERVER);
INSTANCE.registerMessage(PacketGetKey.class, PacketGetKey.class, nextID(), Side.CLIENT);
}
}

View File

@@ -1,48 +0,0 @@
package net.yseven.findyourway.Network;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.WorldServer;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler;
import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import net.yseven.findyourway.CommonProxy;
import net.yseven.findyourway.item.ItemCompassBase;
public class PacketSendKey implements IMessage {
private BlockPos structurePos;
private final ItemCompassBase compass;
@Override
public void fromBytes(ByteBuf buf) {}
@Override
public void toBytes(ByteBuf buf) {}
public PacketSendKey(ItemCompassBase compassBase) {
compass = compassBase;
}
public static class Handler implements IMessageHandler<PacketSendKey, IMessage> {
@Override
public IMessage onMessage(PacketSendKey message, MessageContext ctx) {
final EntityPlayerMP player = ctx.getServerHandler().player;
if (CommonProxy.containsCompass(player.inventory, message.compass)) {
final WorldServer world = (WorldServer) player.world;
final int compassId = CommonProxy.setCompassId(message.compass);
final String structureType = message.compass.getStructureType();
world.addScheduledTask(new Runnable() {
@Override
public void run() {
BlockPos pos = world.getChunkProvider().getNearestStructurePos(world, structureType, new BlockPos(player), true);
if (pos != null) {
PacketHandler.INSTANCE.sendTo(new PacketGetKey(message.structurePos, compassId), player);
}
}
});
}
return null;
}
}
}

View File

@@ -1,17 +0,0 @@
package net.yseven.findyourway;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
public class Util {
public static boolean checkInventoryForCompass(InventoryPlayer inventory, Item compass) {
for(int x = 0; x < inventory.getSizeInventory(); x++) {
ItemStack stack = inventory.getStackInSlot(x);
if(!stack.isEmpty() && stack.getItem() == compass) {
return true;
}
}
return false;
}
}

View File

@@ -1,5 +1,6 @@
package net.yseven.findyourway.item;
import io.netty.buffer.ByteBuf;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -10,7 +11,9 @@ import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.yseven.findyourway.Client.ClientProxy;
@@ -20,10 +23,10 @@ import net.yseven.findyourway.FindYourWay;
import javax.annotation.Nonnull;
public class ItemCompassBase extends Item {
private final String structureType;
private String structureType;
private BlockPos structurePos;
private World structureWorld;
public final String assetTag;
private final int ItemCompassID;
public ItemCompassBase(String name, String structureName) {
setUnlocalizedName(FindYourWay.modId + "." + name);
@@ -31,30 +34,60 @@ public class ItemCompassBase extends Item {
structureType = structureName;
setCreativeTab(CreativeTabs.TOOLS);
setMaxStackSize(1);
assetTag = name + "_angle";
CommonProxy.compassList.add(this);
ItemCompassID = CommonProxy.compassList.indexOf(this);
}
public String toString() {
return getUnlocalizedName();
}
//getters
public String getStructureType() {
return structureType;
}
public void setStructurePos(BlockPos pos) {
structurePos = pos;
}
public BlockPos getStructurePos() {
return structurePos;
}
public World getStructureWorld() {
return structureWorld;
}
public int getCompassID() {
return ItemCompassID;
}
//setters
public void setStructureType(String type) {
structureType= type;
}
public void setStructurePos(BlockPos pos) {
structurePos = pos;
}
public void setStructureWorld(World world) {
structureWorld = world;
}
public World getStructureWorld() {
return structureWorld;
//netcode implementation
public void toBytes(ByteBuf buf) {
if(CommonProxy.compassList.contains(this)) {
buf.writeInt(ItemCompassID);
}
}
public static ItemCompassBase fromBytes(ByteBuf buf) {
int ID = buf.readInt();
for(int i = 0; i <= CommonProxy.compassList.size(); i++) {
if(ID == CommonProxy.compassList.get(i).getCompassID()) return CommonProxy.compassList.get(i);
}
return null;
}
//Client Code (mostly registration)
@SideOnly(Side.CLIENT)
@SubscribeEvent
public void registerItemModel() {
ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(getRegistryName(), "inventory"));
}

View File

@@ -1,20 +1,30 @@
package net.yseven.findyourway.item;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.yseven.findyourway.FindYourWay;
import static net.yseven.findyourway.FindYourWay.modId;
public class ModItems {
public static ItemCompassBase ENDER_COMPASS;
public static ItemCompassBase VILLAGE_COMPASS;
public static ItemCompassBase FORTRESS_COMPASS;
public static ItemCompassBase MONUMENT_COMPASS;
public static void init(){
ENDER_COMPASS = new ItemCompassBase("ender_compass", "Stronghold");
VILLAGE_COMPASS = new ItemCompassBase("village_compass", "Village");
FORTRESS_COMPASS = new ItemCompassBase("fortress_compass", "Fortress");
MONUMENT_COMPASS = new ItemCompassBase("monument_compass", "Monument");
}
@SideOnly(Side.CLIENT)
public static void registerModels() {
ENDER_COMPASS.registerItemModel();
VILLAGE_COMPASS.registerItemModel();
FORTRESS_COMPASS.registerItemModel();
MONUMENT_COMPASS.registerItemModel();
}
}
}

View File

@@ -1,2 +1,5 @@
# Items
item.ender_compass.name=Ender Compass
item.findyourway.ender_compass.name=Ender Compass
item.findyourway.village_compass.name=Village Compass
item.findyourway.fortress_compass.name=Fortress Compass
item.findyourway.monument_compass.name=Monument Compass

View File

@@ -1,41 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass"
},
"overrides": [
{ "predicate": { "ender_compass_angle": 0.000000 }, "model": "findyourway:item/ender_compass" },
{ "predicate": { "ender_compass_angle": 0.015625 }, "model": "findyourway:item/ender_compass_17" },
{ "predicate": { "ender_compass_angle": 0.046875 }, "model": "findyourway:item/ender_compass_18" },
{ "predicate": { "ender_compass_angle": 0.078125 }, "model": "findyourway:item/ender_compass_19" },
{ "predicate": { "ender_compass_angle": 0.109375 }, "model": "findyourway:item/ender_compass_20" },
{ "predicate": { "ender_compass_angle": 0.140625 }, "model": "findyourway:item/ender_compass_21" },
{ "predicate": { "ender_compass_angle": 0.171875 }, "model": "findyourway:item/ender_compass_22" },
{ "predicate": { "ender_compass_angle": 0.203125 }, "model": "findyourway:item/ender_compass_23" },
{ "predicate": { "ender_compass_angle": 0.234375 }, "model": "findyourway:item/ender_compass_24" },
{ "predicate": { "ender_compass_angle": 0.265625 }, "model": "findyourway:item/ender_compass_25" },
{ "predicate": { "ender_compass_angle": 0.296875 }, "model": "findyourway:item/ender_compass_26" },
{ "predicate": { "ender_compass_angle": 0.328125 }, "model": "findyourway:item/ender_compass_27" },
{ "predicate": { "ender_compass_angle": 0.359375 }, "model": "findyourway:item/ender_compass_28" },
{ "predicate": { "ender_compass_angle": 0.390625 }, "model": "findyourway:item/ender_compass_29" },
{ "predicate": { "ender_compass_angle": 0.421875 }, "model": "findyourway:item/ender_compass_30" },
{ "predicate": { "ender_compass_angle": 0.453125 }, "model": "findyourway:item/ender_compass_31" },
{ "predicate": { "ender_compass_angle": 0.484375 }, "model": "findyourway:item/ender_compass_00" },
{ "predicate": { "ender_compass_angle": 0.515625 }, "model": "findyourway:item/ender_compass_01" },
{ "predicate": { "ender_compass_angle": 0.546875 }, "model": "findyourway:item/ender_compass_02" },
{ "predicate": { "ender_compass_angle": 0.578125 }, "model": "findyourway:item/ender_compass_03" },
{ "predicate": { "ender_compass_angle": 0.609375 }, "model": "findyourway:item/ender_compass_04" },
{ "predicate": { "ender_compass_angle": 0.640625 }, "model": "findyourway:item/ender_compass_05" },
{ "predicate": { "ender_compass_angle": 0.671875 }, "model": "findyourway:item/ender_compass_06" },
{ "predicate": { "ender_compass_angle": 0.703125 }, "model": "findyourway:item/ender_compass_07" },
{ "predicate": { "ender_compass_angle": 0.734375 }, "model": "findyourway:item/ender_compass_08" },
{ "predicate": { "ender_compass_angle": 0.765625 }, "model": "findyourway:item/ender_compass_09" },
{ "predicate": { "ender_compass_angle": 0.796875 }, "model": "findyourway:item/ender_compass_10" },
{ "predicate": { "ender_compass_angle": 0.828125 }, "model": "findyourway:item/ender_compass_11" },
{ "predicate": { "ender_compass_angle": 0.859375 }, "model": "findyourway:item/ender_compass_12" },
{ "predicate": { "ender_compass_angle": 0.890625 }, "model": "findyourway:item/ender_compass_13" },
{ "predicate": { "ender_compass_angle": 0.921875 }, "model": "findyourway:item/ender_compass_14" },
{ "predicate": { "ender_compass_angle": 0.953125 }, "model": "findyourway:item/ender_compass_15" },
{ "predicate": { "ender_compass_angle": 0.984375 }, "model": "findyourway:item/ender_compass" }
]
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_04"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_05"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_06"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_07"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_08"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_09"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_10"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_11"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_12"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_13"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_14"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_15"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_04"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_17"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_18"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_19"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_20"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_21"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_22"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_23"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_24"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_25"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_26"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_27"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_28"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_29"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_30"
}
}

View File

@@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_31"
}
}

View File

@@ -0,0 +1,52 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_16"
},
"defaults": {
"textures": {
"layer0": "findyourway:items/ender_compass_16"
}
},
"variants": {
"normal": [{
}],
"inventory": [{
}]
},
"overrides": [
{ "predicate": { "angle": 0.000000 }, "model": "findyourway:item/item.findyourway.ender_compass_16" },
{ "predicate": { "angle": 0.015625 }, "model": "findyourway:item/item.findyourway.ender_compass_17" },
{ "predicate": { "angle": 0.046875 }, "model": "findyourway:item/item.findyourway.ender_compass_18" },
{ "predicate": { "angle": 0.078125 }, "model": "findyourway:item/item.findyourway.ender_compass_19" },
{ "predicate": { "angle": 0.109375 }, "model": "findyourway:item/item.findyourway.ender_compass_20" },
{ "predicate": { "angle": 0.140625 }, "model": "findyourway:item/item.findyourway.ender_compass_21" },
{ "predicate": { "angle": 0.171875 }, "model": "findyourway:item/item.findyourway.ender_compass_22" },
{ "predicate": { "angle": 0.203125 }, "model": "findyourway:item/item.findyourway.ender_compass_23" },
{ "predicate": { "angle": 0.234375 }, "model": "findyourway:item/item.findyourway.ender_compass_24" },
{ "predicate": { "angle": 0.265625 }, "model": "findyourway:item/item.findyourway.ender_compass_25" },
{ "predicate": { "angle": 0.296875 }, "model": "findyourway:item/item.findyourway.ender_compass_26" },
{ "predicate": { "angle": 0.328125 }, "model": "findyourway:item/item.findyourway.ender_compass_27" },
{ "predicate": { "angle": 0.359375 }, "model": "findyourway:item/item.findyourway.ender_compass_28" },
{ "predicate": { "angle": 0.390625 }, "model": "findyourway:item/item.findyourway.ender_compass_29" },
{ "predicate": { "angle": 0.421875 }, "model": "findyourway:item/item.findyourway.ender_compass_30" },
{ "predicate": { "angle": 0.453125 }, "model": "findyourway:item/item.findyourway.ender_compass_31" },
{ "predicate": { "angle": 0.484375 }, "model": "findyourway:item/item.findyourway.ender_compass_00" },
{ "predicate": { "angle": 0.515625 }, "model": "findyourway:item/item.findyourway.ender_compass_01" },
{ "predicate": { "angle": 0.546875 }, "model": "findyourway:item/item.findyourway.ender_compass_02" },
{ "predicate": { "angle": 0.578125 }, "model": "findyourway:item/item.findyourway.ender_compass_03" },
{ "predicate": { "angle": 0.609375 }, "model": "findyourway:item/item.findyourway.ender_compass_04" },
{ "predicate": { "angle": 0.640625 }, "model": "findyourway:item/item.findyourway.ender_compass_05" },
{ "predicate": { "angle": 0.671875 }, "model": "findyourway:item/item.findyourway.ender_compass_06" },
{ "predicate": { "angle": 0.703125 }, "model": "findyourway:item/item.findyourway.ender_compass_07" },
{ "predicate": { "angle": 0.734375 }, "model": "findyourway:item/item.findyourway.ender_compass_08" },
{ "predicate": { "angle": 0.765625 }, "model": "findyourway:item/item.findyourway.ender_compass_09" },
{ "predicate": { "angle": 0.796875 }, "model": "findyourway:item/item.findyourway.ender_compass_10" },
{ "predicate": { "angle": 0.828125 }, "model": "findyourway:item/item.findyourway.ender_compass_11" },
{ "predicate": { "angle": 0.859375 }, "model": "findyourway:item/item.findyourway.ender_compass_12" },
{ "predicate": { "angle": 0.890625 }, "model": "findyourway:item/item.findyourway.ender_compass_13" },
{ "predicate": { "angle": 0.921875 }, "model": "findyourway:item/item.findyourway.ender_compass_14" },
{ "predicate": { "angle": 0.953125 }, "model": "findyourway:item/item.findyourway.ender_compass_15" },
{ "predicate": { "angle": 0.984375 }, "model": "findyourway:item/item.findyourway.ender_compass_16" }
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_00"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_00"
"layer0": "findyourway:items/ender_compass_01"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_01"
"layer0": "findyourway:items/ender_compass_02"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_02"
"layer0": "findyourway:items/ender_compass_03"
}
}

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:item/ender_compass_03"
"layer0": "findyourway:items/ender_compass_04"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_05"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_06"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_07"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_08"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_09"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_10"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_11"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_12"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_13"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_14"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_15"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_16"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_17"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_18"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_19"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_20"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_21"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_22"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_23"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_24"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_25"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_26"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_27"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_28"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_29"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_30"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/ender_compass_31"
}
}

View File

@@ -0,0 +1,52 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_16"
},
"defaults": {
"textures": {
"layer0": "findyourway:items/fortress_compass_16"
}
},
"variants": {
"normal": [{
}],
"inventory": [{
}]
},
"overrides": [
{ "predicate": { "angle": 0.000000 }, "model": "findyourway:item/item.findyourway.fortress_compass_16" },
{ "predicate": { "angle": 0.015625 }, "model": "findyourway:item/item.findyourway.fortress_compass_17" },
{ "predicate": { "angle": 0.046875 }, "model": "findyourway:item/item.findyourway.fortress_compass_18" },
{ "predicate": { "angle": 0.078125 }, "model": "findyourway:item/item.findyourway.fortress_compass_19" },
{ "predicate": { "angle": 0.109375 }, "model": "findyourway:item/item.findyourway.fortress_compass_20" },
{ "predicate": { "angle": 0.140625 }, "model": "findyourway:item/item.findyourway.fortress_compass_21" },
{ "predicate": { "angle": 0.171875 }, "model": "findyourway:item/item.findyourway.fortress_compass_22" },
{ "predicate": { "angle": 0.203125 }, "model": "findyourway:item/item.findyourway.fortress_compass_23" },
{ "predicate": { "angle": 0.234375 }, "model": "findyourway:item/item.findyourway.fortress_compass_24" },
{ "predicate": { "angle": 0.265625 }, "model": "findyourway:item/item.findyourway.fortress_compass_25" },
{ "predicate": { "angle": 0.296875 }, "model": "findyourway:item/item.findyourway.fortress_compass_26" },
{ "predicate": { "angle": 0.328125 }, "model": "findyourway:item/item.findyourway.fortress_compass_27" },
{ "predicate": { "angle": 0.359375 }, "model": "findyourway:item/item.findyourway.fortress_compass_28" },
{ "predicate": { "angle": 0.390625 }, "model": "findyourway:item/item.findyourway.fortress_compass_29" },
{ "predicate": { "angle": 0.421875 }, "model": "findyourway:item/item.findyourway.fortress_compass_30" },
{ "predicate": { "angle": 0.453125 }, "model": "findyourway:item/item.findyourway.fortress_compass_31" },
{ "predicate": { "angle": 0.484375 }, "model": "findyourway:item/item.findyourway.fortress_compass_00" },
{ "predicate": { "angle": 0.515625 }, "model": "findyourway:item/item.findyourway.fortress_compass_01" },
{ "predicate": { "angle": 0.546875 }, "model": "findyourway:item/item.findyourway.fortress_compass_02" },
{ "predicate": { "angle": 0.578125 }, "model": "findyourway:item/item.findyourway.fortress_compass_03" },
{ "predicate": { "angle": 0.609375 }, "model": "findyourway:item/item.findyourway.fortress_compass_04" },
{ "predicate": { "angle": 0.640625 }, "model": "findyourway:item/item.findyourway.fortress_compass_05" },
{ "predicate": { "angle": 0.671875 }, "model": "findyourway:item/item.findyourway.fortress_compass_06" },
{ "predicate": { "angle": 0.703125 }, "model": "findyourway:item/item.findyourway.fortress_compass_07" },
{ "predicate": { "angle": 0.734375 }, "model": "findyourway:item/item.findyourway.fortress_compass_08" },
{ "predicate": { "angle": 0.765625 }, "model": "findyourway:item/item.findyourway.fortress_compass_09" },
{ "predicate": { "angle": 0.796875 }, "model": "findyourway:item/item.findyourway.fortress_compass_10" },
{ "predicate": { "angle": 0.828125 }, "model": "findyourway:item/item.findyourway.fortress_compass_11" },
{ "predicate": { "angle": 0.859375 }, "model": "findyourway:item/item.findyourway.fortress_compass_12" },
{ "predicate": { "angle": 0.890625 }, "model": "findyourway:item/item.findyourway.fortress_compass_13" },
{ "predicate": { "angle": 0.921875 }, "model": "findyourway:item/item.findyourway.fortress_compass_14" },
{ "predicate": { "angle": 0.953125 }, "model": "findyourway:item/item.findyourway.fortress_compass_15" },
{ "predicate": { "angle": 0.984375 }, "model": "findyourway:item/item.findyourway.fortress_compass_16" }
]
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_00"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_01"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_02"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_03"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_04"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_05"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_06"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_07"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_08"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_09"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_10"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_11"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_12"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_13"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_14"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_15"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_16"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_17"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_18"
}
}

View File

@@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "findyourway:items/fortress_compass_19"
}
}

Some files were not shown because too many files have changed in this diff Show More