It compiles!!!
All compasses work except the Nether Fortress Compass! TODO - Fix the Nether portal compass - Add igloo compass - Add temple compass - add witch hut compass
This commit is contained in:
14
build.gradle
14
build.gradle
@@ -13,9 +13,9 @@ apply plugin: 'net.minecraftforge.gradle'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'maven-publish'
|
||||
|
||||
version = '1.0'
|
||||
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
archivesBaseName = 'modid'
|
||||
version = '2.0.0-beta'
|
||||
group = 'net.yavin.findyourway' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||
archivesBaseName = 'findyourway'
|
||||
|
||||
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
|
||||
|
||||
@@ -97,12 +97,12 @@ dependencies {
|
||||
jar {
|
||||
manifest {
|
||||
attributes([
|
||||
"Specification-Title": "examplemod",
|
||||
"Specification-Vendor": "examplemodsareus",
|
||||
"Specification-Version": "1", // We are version 1 of ourselves
|
||||
"Specification-Title": "findyourway",
|
||||
"Specification-Vendor": "Yavin7",
|
||||
"Specification-Version": "2.0.0-beta",
|
||||
"Implementation-Title": project.name,
|
||||
"Implementation-Version": "${version}",
|
||||
"Implementation-Vendor" :"examplemodsareus",
|
||||
"Implementation-Vendor" :"Yavin7",
|
||||
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
|
||||
])
|
||||
}
|
||||
|
3
gradle/wrapper/gradle-wrapper.properties
vendored
3
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,6 @@
|
||||
#Fri Jun 28 08:25:56 CDT 2019
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
|
||||
|
@@ -1,84 +0,0 @@
|
||||
package com.example.examplemod;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.InterModComms;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
|
||||
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
|
||||
import net.minecraftforge.fml.event.server.FMLServerStartingEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
// The value here should match an entry in the META-INF/mods.toml file
|
||||
@Mod("examplemod")
|
||||
public class ExampleMod
|
||||
{
|
||||
// Directly reference a log4j logger.
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
public ExampleMod() {
|
||||
// Register the setup method for modloading
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
|
||||
// Register the enqueueIMC method for modloading
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::enqueueIMC);
|
||||
// Register the processIMC method for modloading
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::processIMC);
|
||||
// Register the doClientStuff method for modloading
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::doClientStuff);
|
||||
|
||||
// Register ourselves for server and other game events we are interested in
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
private void setup(final FMLCommonSetupEvent event)
|
||||
{
|
||||
// some preinit code
|
||||
LOGGER.info("HELLO FROM PREINIT");
|
||||
LOGGER.info("DIRT BLOCK >> {}", Blocks.DIRT.getRegistryName());
|
||||
}
|
||||
|
||||
private void doClientStuff(final FMLClientSetupEvent event) {
|
||||
// do something that can only be done on the client
|
||||
LOGGER.info("Got game settings {}", event.getMinecraftSupplier().get().gameSettings);
|
||||
}
|
||||
|
||||
private void enqueueIMC(final InterModEnqueueEvent event)
|
||||
{
|
||||
// some example code to dispatch IMC to another mod
|
||||
InterModComms.sendTo("examplemod", "helloworld", () -> { LOGGER.info("Hello world from the MDK"); return "Hello world";});
|
||||
}
|
||||
|
||||
private void processIMC(final InterModProcessEvent event)
|
||||
{
|
||||
// some example code to receive and process InterModComms from other mods
|
||||
LOGGER.info("Got IMC {}", event.getIMCStream().
|
||||
map(m->m.getMessageSupplier().get()).
|
||||
collect(Collectors.toList()));
|
||||
}
|
||||
// You can use SubscribeEvent and let the Event Bus discover methods to call
|
||||
@SubscribeEvent
|
||||
public void onServerStarting(FMLServerStartingEvent event) {
|
||||
// do something when the server starts
|
||||
LOGGER.info("HELLO from server starting");
|
||||
}
|
||||
|
||||
// You can use EventBusSubscriber to automatically subscribe events on the contained class (this is subscribing to the MOD
|
||||
// Event bus for receiving Registry Events)
|
||||
@Mod.EventBusSubscriber(bus=Mod.EventBusSubscriber.Bus.MOD)
|
||||
public static class RegistryEvents {
|
||||
@SubscribeEvent
|
||||
public static void onBlocksRegistry(final RegistryEvent.Register<Block> blockRegistryEvent) {
|
||||
// register a new block here
|
||||
LOGGER.info("HELLO from Register Block");
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,121 +0,0 @@
|
||||
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;
|
||||
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.setup.ClientProxy;
|
||||
import net.yseven.findyourway.setup.ServerProxy;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
public class AngleGetter implements IItemPropertyGetter {
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double prevAngle = 0.0D;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double prevWobble = 0.0D;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private long prevWorldTime = 0L;
|
||||
@SideOnly(Side.CLIENT)
|
||||
private BlockPos blockPos;
|
||||
|
||||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
@SideOnly(Side.CLIENT)
|
||||
public float apply(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) {
|
||||
|
||||
boolean isLiving = entityIn != null;
|
||||
Entity errorChicken = new EntityChicken(Minecraft.getMinecraft().world);
|
||||
|
||||
Entity entity;
|
||||
if(isLiving) {
|
||||
entity = entityIn;
|
||||
} else if(stack.getItemFrame() != null) {
|
||||
entity = stack.getItemFrame();
|
||||
} else {
|
||||
entity = errorChicken;
|
||||
}
|
||||
|
||||
if (worldIn == null) worldIn = entity.world;
|
||||
|
||||
double angle;
|
||||
setBlockPos(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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
if(isLiving) {
|
||||
angle = wobble(worldIn, angle);
|
||||
}
|
||||
|
||||
|
||||
return MathHelper.positiveModulo((float) angle, 1.0F);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private double wobble(World world, double angle) {
|
||||
long worldTime = world.getTotalWorldTime();
|
||||
if (worldTime != prevWorldTime) {
|
||||
prevWorldTime = worldTime;
|
||||
double angleDifference = angle - prevAngle;
|
||||
angleDifference = MathHelper.positiveModulo(angleDifference + 0.5D, 1.0D) - 0.5D;
|
||||
prevWobble += angleDifference * 0.1D;
|
||||
prevWobble *= 0.8D;
|
||||
prevAngle = MathHelper.positiveModulo(prevAngle + prevWobble, 1.0D);
|
||||
}
|
||||
return prevAngle;
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
private void setBlockPos(ItemStack stack) {
|
||||
for (int i = 0; i < ServerProxy.compassList.size(); i++) {
|
||||
if (stack.getItem().getUnlocalizedName().equals(ServerProxy.compassList.get(i).getUnlocalizedName())) {
|
||||
blockPos = ServerProxy.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)
|
||||
private double getFrameAngle(EntityItemFrame entity) {
|
||||
return (double) MathHelper.wrapDegrees(180 + (entity.facingDirection.getHorizontalIndex() * 90));
|
||||
}
|
||||
}
|
@@ -1,9 +1,7 @@
|
||||
package net.yseven.findyourway;
|
||||
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.yseven.findyourway.setup.ServerProxy;
|
||||
|
||||
public class Config {
|
||||
/*
|
||||
private static final String CATEGORY_GENERAL = "ggeneral";
|
||||
|
||||
public static boolean useEnderCompass = true;
|
||||
@@ -34,4 +32,6 @@ public class Config {
|
||||
useMonumentCompass = cfg.getBoolean("monumentCompass", CATEGORY_GENERAL, useEnderCompass, "Leave as true to enable Monument Compass");
|
||||
useVillageCompass = cfg.getBoolean("villageCompass", CATEGORY_GENERAL, useEnderCompass, "Leave as true to enable Village Compass");
|
||||
}
|
||||
|
||||
*/
|
||||
}
|
||||
|
@@ -2,42 +2,71 @@ package net.yseven.findyourway;
|
||||
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.DistExecutor;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
import net.minecraftforge.fml.network.simple.SimpleChannel;
|
||||
import net.yseven.findyourway.item.ItemCompassBase;
|
||||
import net.yseven.findyourway.item.ModItems;
|
||||
import net.yseven.findyourway.network.PacketHandler;
|
||||
import net.yseven.findyourway.setup.ClientProxy;
|
||||
import net.yseven.findyourway.setup.IProxy;
|
||||
import net.yseven.findyourway.setup.ModSetup;
|
||||
import net.yseven.findyourway.setup.ServerProxy;
|
||||
import org.apache.logging.log4j.Level;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@Mod("findyourway")
|
||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
public class FindYourWay {
|
||||
//TODO Fix the ServerProxy and ClientProxy and add both to the setup package
|
||||
public static IProxy proxy = DistExecutor.runForDist(() -> () -> new ClientProxy(), () -> () -> new ServerProxy())
|
||||
public static final String MOD_NAME = "Find Your Way";
|
||||
public static final String MODID = "findyourway";
|
||||
public static final String VERSION = "2.0.0-beta";
|
||||
|
||||
public static IProxy proxy = DistExecutor.runForDist(() -> () -> new ClientProxy(), () -> () -> new ServerProxy());
|
||||
|
||||
public static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
public static ModSetup setup = new ModSetup();
|
||||
public static ItemGroup creativeTab = new ItemGroup("FindYourWay") {
|
||||
@Override
|
||||
public ItemStack createIcon() {
|
||||
return new ItemStack(ModItems.ENDER_COMPASS);
|
||||
}
|
||||
};
|
||||
|
||||
public static ArrayList<ItemCompassBase> compassList = new ArrayList<ItemCompassBase>();
|
||||
|
||||
public static SimpleChannel networkHandler;
|
||||
|
||||
public FindYourWay() {
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup);
|
||||
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
private void setup(final FMLCommonSetupEvent event) {
|
||||
setup.init();
|
||||
proxy.init();
|
||||
PacketHandler.registerMessages(FindYourWay.MODID);
|
||||
proxy.init(event);
|
||||
}
|
||||
|
||||
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||
public static class RegistryEvents {
|
||||
@SubscribeEvent
|
||||
public static void onItemsRegistry(final RegistryEvent.Register<Item> event) {
|
||||
Item.Properties properties = new Item.Properties().group(setup.itemGroup);
|
||||
}
|
||||
ModItems.init();
|
||||
|
||||
LOGGER.log(Level.INFO, "Registering items");
|
||||
|
||||
event.getRegistry().register(ModItems.ENDER_COMPASS);
|
||||
event.getRegistry().register(ModItems.FORTRESS_COMPASS);
|
||||
event.getRegistry().register(ModItems.MANSION_COMPASS);
|
||||
event.getRegistry().register(ModItems.MONUMENT_COMPASS);
|
||||
event.getRegistry().register(ModItems.VILLAGE_COMPASS);
|
||||
}
|
||||
}
|
||||
|
@@ -1,31 +0,0 @@
|
||||
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);
|
||||
}
|
||||
}
|
@@ -1,49 +0,0 @@
|
||||
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.setup.ServerProxy;
|
||||
|
||||
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) {
|
||||
ServerProxy.simpleNetworkWrapper.sendTo(msg, sendingPlayer);
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
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;
|
||||
}
|
||||
}
|
@@ -1,63 +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.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() + "!";
|
||||
}
|
||||
}
|
@@ -1,55 +0,0 @@
|
||||
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=]";
|
||||
}
|
||||
}
|
@@ -0,0 +1,42 @@
|
||||
package net.yseven.findyourway.network;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.ServerWorld;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.fml.network.NetworkDirection;
|
||||
import net.minecraftforge.fml.network.NetworkEvent;
|
||||
import net.yseven.findyourway.item.ItemCompassBase;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class PacketGetCompassBlockPos {
|
||||
private ItemCompassBase compass;
|
||||
|
||||
public PacketGetCompassBlockPos() {
|
||||
|
||||
}
|
||||
|
||||
public PacketGetCompassBlockPos(ByteBuf buf) {
|
||||
compass = ItemCompassBase.getCompassFromId(buf.readInt());
|
||||
}
|
||||
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(compass.getItemCompassID());
|
||||
}
|
||||
|
||||
public PacketGetCompassBlockPos(ItemCompassBase compass) {
|
||||
this.compass = compass;
|
||||
}
|
||||
|
||||
public void handle(Supplier<NetworkEvent.Context> ctx) {
|
||||
ctx.get().enqueueWork(() -> {
|
||||
ServerWorld world = DimensionManager.getWorld(ctx.get().getSender().server, compass.getStructureDimension(), true, false);
|
||||
if(world.getDimension().getType() == compass.getStructureDimension()) {
|
||||
BlockPos structurePos = world.getWorld().getChunkProvider().getChunkGenerator().findNearestStructure(world, compass.getStructureType(), ctx.get().getSender().getPosition(), 10000, true);
|
||||
PacketHandler.INSTANCE.sendTo(new PacketReturnCompassBlockPos(structurePos, compass), ctx.get().getSender().connection.getNetworkManager(), NetworkDirection.PLAY_TO_CLIENT);
|
||||
}
|
||||
});
|
||||
ctx.get().setPacketHandled(true);
|
||||
}
|
||||
}
|
@@ -0,0 +1,31 @@
|
||||
package net.yseven.findyourway.network;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.network.NetworkRegistry;
|
||||
import net.minecraftforge.fml.network.simple.SimpleChannel;
|
||||
import net.yseven.findyourway.FindYourWay;
|
||||
|
||||
public class PacketHandler {
|
||||
public static SimpleChannel INSTANCE;
|
||||
private static int ID = 0;
|
||||
|
||||
public static int nextPacketId() {
|
||||
return ID++;
|
||||
}
|
||||
|
||||
public static void registerMessages(String channelName) {
|
||||
INSTANCE = NetworkRegistry.newSimpleChannel(new ResourceLocation(FindYourWay.MODID, channelName), () -> "1.0", s -> true, s -> true);
|
||||
|
||||
//Server Side
|
||||
INSTANCE.registerMessage(nextPacketId(), PacketReturnCompassBlockPos.class,
|
||||
PacketReturnCompassBlockPos::toBytes,
|
||||
PacketReturnCompassBlockPos::new,
|
||||
PacketReturnCompassBlockPos::handle);
|
||||
|
||||
//Client Side
|
||||
INSTANCE.registerMessage(nextPacketId(), PacketGetCompassBlockPos.class,
|
||||
PacketGetCompassBlockPos::toBytes,
|
||||
PacketGetCompassBlockPos::new,
|
||||
PacketGetCompassBlockPos::handle);
|
||||
}
|
||||
}
|
@@ -0,0 +1,40 @@
|
||||
package net.yseven.findyourway.network;
|
||||
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.network.NetworkEvent;
|
||||
import net.yseven.findyourway.FindYourWay;
|
||||
import net.yseven.findyourway.item.ItemCompassBase;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class PacketReturnCompassBlockPos {
|
||||
private BlockPos pos;
|
||||
private ItemCompassBase compass;
|
||||
|
||||
public PacketReturnCompassBlockPos() {
|
||||
|
||||
}
|
||||
|
||||
public PacketReturnCompassBlockPos(BlockPos pos, ItemCompassBase compass) {
|
||||
this.pos = pos;
|
||||
this.compass = compass;
|
||||
}
|
||||
|
||||
public PacketReturnCompassBlockPos(ByteBuf buf) {
|
||||
pos = BlockPos.fromLong(buf.readLong());
|
||||
compass = ItemCompassBase.getCompassFromId(buf.readInt());
|
||||
}
|
||||
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeLong(pos.toLong());
|
||||
buf.writeInt(compass.getItemCompassID());
|
||||
}
|
||||
|
||||
public void handle(Supplier<NetworkEvent.Context> ctx) {
|
||||
ctx.get().enqueueWork(() -> {
|
||||
compass.setStructurePos(pos);
|
||||
});
|
||||
ctx.get().setPacketHandled(true);
|
||||
}
|
||||
}
|
@@ -1,104 +1,4 @@
|
||||
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;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
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.AngleGetter;
|
||||
import net.yseven.findyourway.setup.ClientProxy;
|
||||
import net.yseven.findyourway.setup.ServerProxy;
|
||||
import net.yseven.findyourway.FindYourWay;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class ItemCompassBase extends Item {
|
||||
private String structureType;
|
||||
private BlockPos structurePos;
|
||||
private World structureWorld;
|
||||
private final int ItemCompassID;
|
||||
|
||||
public ItemCompassBase(String name, String structureName) {
|
||||
setUnlocalizedName(FindYourWay.modId + "." + name);
|
||||
setRegistryName(name);
|
||||
structureType = structureName;
|
||||
setCreativeTab(CreativeTabs.TOOLS);
|
||||
setMaxStackSize(1);
|
||||
ServerProxy.compassList.add(this);
|
||||
ItemCompassID = ServerProxy.compassList.indexOf(this);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return getUnlocalizedName();
|
||||
}
|
||||
|
||||
//getters
|
||||
|
||||
public String getStructureType() {
|
||||
return structureType;
|
||||
}
|
||||
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;
|
||||
}
|
||||
|
||||
//netcode implementation
|
||||
|
||||
public void toBytes(ByteBuf buf) {
|
||||
if(ServerProxy.compassList.contains(this)) {
|
||||
buf.writeInt(ItemCompassID);
|
||||
}
|
||||
}
|
||||
|
||||
public static ItemCompassBase fromBytes(ByteBuf buf) {
|
||||
int ID = buf.readInt();
|
||||
for(int i = 0; i <= ServerProxy.compassList.size(); i++) {
|
||||
if(ID == ServerProxy.compassList.get(i).getCompassID()) return ServerProxy.compassList.get(i);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//Client Code (mostly registration)
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public void registerItemModel() {
|
||||
this.addPropertyOverride(new ResourceLocation("angle"), new AngleGetter());
|
||||
ModelLoader.setCustomModelResourceLocation(this, 0, new ModelResourceLocation(FindYourWay.modId + ":" + this.getUnlocalizedName(), "inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, @Nonnull EnumHand hand) {
|
||||
if (world.isRemote) {
|
||||
ClientProxy.resetStructurePos(this);
|
||||
}
|
||||
return new ActionResult<>(EnumActionResult.SUCCESS, player.getHeldItem(hand));
|
||||
}
|
||||
public class ItemCompassBase {
|
||||
}
|
||||
|
@@ -1,74 +1,49 @@
|
||||
package net.yseven.findyourway.item;
|
||||
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.world.dimension.DimensionType;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.yseven.findyourway.Config;
|
||||
import net.minecraftforge.registries.ObjectHolder;
|
||||
import net.yseven.findyourway.FindYourWay;
|
||||
import org.apache.logging.log4j.Level;
|
||||
|
||||
import static net.yseven.findyourway.FindYourWay.modId;
|
||||
import java.io.Console;
|
||||
|
||||
public class ModItems {
|
||||
@ObjectHolder("findyourway:ender_compass")
|
||||
public static ItemCompassBase ENDER_COMPASS;
|
||||
public static ItemCompassBase VILLAGE_COMPASS;
|
||||
@ObjectHolder("findyourway:fortress_compass")
|
||||
public static ItemCompassBase FORTRESS_COMPASS;
|
||||
@ObjectHolder("findyourway:monument_compass")
|
||||
public static ItemCompassBase MONUMENT_COMPASS;
|
||||
@ObjectHolder("findyourway:mansion_compass")
|
||||
public static ItemCompassBase MANSION_COMPASS;
|
||||
@ObjectHolder("findyourway:village_compass")
|
||||
public static ItemCompassBase VILLAGE_COMPASS;
|
||||
|
||||
public static void init(){
|
||||
/*
|
||||
if(Config.useEnderCompass) {
|
||||
ENDER_COMPASS = new ItemCompassBase("ender_compass", "Stronghold");
|
||||
ENDER_COMPASS = new ItemCompassBase("ender_compass", "Stronghold", DimensionType.OVERWORLD);
|
||||
}
|
||||
if(Config.useFortressCompass) {
|
||||
FORTRESS_COMPASS = new ItemCompassBase("fortress_compass", "Fortress");
|
||||
FORTRESS_COMPASS = new ItemCompassBase("fortress_compass", "Fortress", DimensionType.NETHER);
|
||||
}
|
||||
if(Config.useMansionCompass) {
|
||||
MANSION_COMPASS = new ItemCompassBase("mansion_compass", "Mansion");
|
||||
MANSION_COMPASS = new ItemCompassBase("mansion_compass", "Mansion", DimensionType.OVERWORLD);
|
||||
}
|
||||
if(Config.useMonumentCompass) {
|
||||
MONUMENT_COMPASS = new ItemCompassBase("monument_compass", "Monument");
|
||||
MONUMENT_COMPASS = new ItemCompassBase("monument_compass", "Monument", DimensionType.OVERWORLD);
|
||||
}
|
||||
if(Config.useVillageCompass) {
|
||||
VILLAGE_COMPASS = new ItemCompassBase("village_compass", "Village");
|
||||
}
|
||||
VILLAGE_COMPASS = new ItemCompassBase("village_compass", "Village", DimensionType.OVERWORLD);
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static void registerModels() {
|
||||
if(Config.useEnderCompass) {
|
||||
ENDER_COMPASS.registerItemModel();
|
||||
}
|
||||
if(Config.useFortressCompass) {
|
||||
FORTRESS_COMPASS.registerItemModel();
|
||||
}
|
||||
if(Config.useMansionCompass) {
|
||||
MANSION_COMPASS.registerItemModel();
|
||||
}
|
||||
if(Config.useMonumentCompass) {
|
||||
MONUMENT_COMPASS.registerItemModel();
|
||||
}
|
||||
if(Config.useVillageCompass) {
|
||||
VILLAGE_COMPASS.registerItemModel();
|
||||
}
|
||||
}
|
||||
|
||||
public static void registerItems(RegistryEvent.Register<Item> event) {
|
||||
if(Config.useEnderCompass) {
|
||||
event.getRegistry().register(ENDER_COMPASS);
|
||||
}
|
||||
if(Config.useFortressCompass) {
|
||||
event.getRegistry().register(FORTRESS_COMPASS);
|
||||
}
|
||||
if(Config.useMansionCompass) {
|
||||
event.getRegistry().register(MANSION_COMPASS);
|
||||
}
|
||||
if(Config.useMonumentCompass) {
|
||||
event.getRegistry().register(MONUMENT_COMPASS);
|
||||
}
|
||||
if(Config.useVillageCompass) {
|
||||
event.getRegistry().register(VILLAGE_COMPASS);
|
||||
}
|
||||
*/
|
||||
ENDER_COMPASS = new ItemCompassBase("ender_compass", "Stronghold", DimensionType.OVERWORLD);
|
||||
FORTRESS_COMPASS = new ItemCompassBase("fortress_compass", "Fortress", DimensionType.NETHER);
|
||||
MANSION_COMPASS = new ItemCompassBase("mansion_compass", "Mansion", DimensionType.OVERWORLD);
|
||||
MONUMENT_COMPASS = new ItemCompassBase("monument_compass", "Monument", DimensionType.OVERWORLD);
|
||||
VILLAGE_COMPASS = new ItemCompassBase("village_compass", "Village", DimensionType.OVERWORLD);
|
||||
}
|
||||
}
|
@@ -1,82 +1,14 @@
|
||||
package net.yseven.findyourway.setup;
|
||||
|
||||
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.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.fml.client.FMLClientHandler;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
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.minecraftforge.fml.common.gameevent.TickEvent;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.yseven.findyourway.setup.ServerProxy;
|
||||
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;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
|
||||
@Mod.EventBusSubscriber(Side.CLIENT)
|
||||
public class ClientProxy extends ServerProxy {
|
||||
|
||||
//Get information about the player and world
|
||||
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;
|
||||
|
||||
public static boolean hasAngleErrrored() {
|
||||
return angleError;
|
||||
}
|
||||
|
||||
public static void AngleHasErrored() {
|
||||
angleError = true;
|
||||
}
|
||||
|
||||
public static boolean hasCompass(ItemCompassBase compass) {
|
||||
return getPlayer() != null && ServerProxy.containsCompass(getPlayer().inventory, compass);
|
||||
}
|
||||
|
||||
public static void resetStructurePos(ItemCompassBase compass) {
|
||||
compass.setStructurePos(null);
|
||||
compass.setStructureWorld(getWorld());
|
||||
ServerProxy.simpleNetworkWrapper.sendToServer(new MessageToServer(compass));
|
||||
}
|
||||
|
||||
//Proxy Info
|
||||
public class ClientProxy implements IProxy {
|
||||
@Override
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
super.preInit(event);
|
||||
public void init(FMLCommonSetupEvent event) {
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
ServerProxy.simpleNetworkWrapper.registerMessage(MessageHandlerOnClient.class, MessageToClient.class, ServerProxy.MESSAGE_TO_CLIENT_ID, Side.CLIENT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void init(FMLInitializationEvent event) {
|
||||
super.init(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void postInit(FMLPostInitializationEvent event) {
|
||||
super.postInit(event);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerModels(ModelRegistryEvent event) {
|
||||
ModItems.registerModels();
|
||||
}
|
||||
|
||||
/*
|
||||
@SubscribeEvent
|
||||
public void onClientTick(TickEvent.ClientTickEvent event) {
|
||||
for(int i = 0; i < ServerProxy.compassList.size(); i++) {
|
||||
@@ -87,4 +19,5 @@ public class ClientProxy extends ServerProxy {
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
@@ -1,9 +1,7 @@
|
||||
package net.yseven.findyourway.setup;
|
||||
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
|
||||
public interface IProxy {
|
||||
void init();
|
||||
|
||||
World getClientWorld();
|
||||
void init(FMLCommonSetupEvent event);
|
||||
}
|
||||
|
@@ -1,18 +0,0 @@
|
||||
package net.yseven.findyourway.setup;
|
||||
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.yseven.findyourway.item.ModItems;
|
||||
|
||||
public class ModSetup {
|
||||
public ItemGroup itemGroup = new ItemGroup("findyourway") {
|
||||
@java.lang.Override
|
||||
public ItemStack createIcon() {
|
||||
return new ItemStack(ModItems.ENDER_COMPASS);
|
||||
}
|
||||
}
|
||||
|
||||
public void init() {
|
||||
|
||||
}
|
||||
}
|
@@ -1,75 +1,13 @@
|
||||
package net.yseven.findyourway.setup;
|
||||
|
||||
import net.minecraft.inventory.IInventory;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.common.config.Configuration;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
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.minecraftforge.fml.common.network.NetworkRegistry;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.yseven.findyourway.Config;
|
||||
import net.yseven.findyourway.FindYourWay;
|
||||
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;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||
|
||||
@Mod.EventBusSubscriber
|
||||
public class ServerProxy {
|
||||
public class ServerProxy implements IProxy {
|
||||
|
||||
public static ArrayList<ItemCompassBase> compassList = new ArrayList<ItemCompassBase>();
|
||||
public static SimpleNetworkWrapper simpleNetworkWrapper;
|
||||
public static Configuration config;
|
||||
@Override
|
||||
public void init(FMLCommonSetupEvent event) {
|
||||
|
||||
public static final byte MESSAGE_TO_SERVER_ID = 71;
|
||||
public static final byte MESSAGE_TO_CLIENT_ID = 72;
|
||||
|
||||
public void preInit(FMLPreInitializationEvent event) {
|
||||
File directory = event.getModConfigurationDirectory();
|
||||
config = new Configuration(new File(directory.getPath(), "findyourway.cfg"));
|
||||
Config.readConfig();
|
||||
|
||||
ModItems.init();
|
||||
|
||||
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 postInit(FMLPostInitializationEvent event) {
|
||||
if(config.hasChanged()){
|
||||
config.save();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerItems(RegistryEvent.Register<Item> event) {
|
||||
ModItems.registerItems(event);
|
||||
}
|
||||
|
||||
public static boolean containsCompass(IInventory inventory, ItemCompassBase compass) {
|
||||
for(int slot = 0; slot < inventory.getSizeInventory(); slot++) {
|
||||
ItemStack stack = inventory.getStackInSlot(slot);
|
||||
if(!stack.isEmpty() && stack.getItem() == compass) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@@ -8,35 +8,42 @@ modLoader="javafml" #mandatory
|
||||
# A version range to match for said mod loader - for regular FML @Mod it will be the forge version
|
||||
loaderVersion="[26,)" #mandatory (26 is current forge version)
|
||||
# A URL to refer people to when problems occur with this mod
|
||||
issueTrackerURL="http://my.issue.tracker/" #optional
|
||||
#issueTrackerURL="http://my.issue.tracker/" #optional
|
||||
# A list of mods - how many allowed here is determined by the individual mod loader
|
||||
[[mods]] #mandatory
|
||||
# The modid of the mod
|
||||
modId="examplemod" #mandatory
|
||||
modId="findyourway" #mandatory
|
||||
# The version number of the mod - there's a few well known ${} variables useable here or just hardcode it
|
||||
version="${file.jarVersion}" #mandatory
|
||||
version="2.0.0-beta" #mandatory
|
||||
# A display name for the mod
|
||||
displayName="Example Mod" #mandatory
|
||||
displayName="Find Your Way" #mandatory
|
||||
# A URL to query for updates for this mod. See the JSON update specification <here>
|
||||
updateJSONURL="http://myurl.me/" #optional
|
||||
#updateJSONURL="http://myurl.me/" #optional
|
||||
# A URL for the "homepage" for this mod, displayed in the mod UI
|
||||
displayURL="http://example.com/" #optional
|
||||
displayURL="https://www.curseforge.com/minecraft/mc-mods/find-your-way" #optional
|
||||
# A file name (in the root of the mod JAR) containing a logo for display
|
||||
logoFile="examplemod.png" #optional
|
||||
logoFile="logo.png" #optional
|
||||
# A text field displayed in the mod UI
|
||||
credits="Thanks for this example mod goes to Java" #optional
|
||||
credits="Thank you Nightmali for your love and support" #optional
|
||||
# A text field displayed in the mod UI
|
||||
authors="Love, Cheese and small house plants" #optional
|
||||
authors="Yavin7" #optional
|
||||
# The description text for the mod (multi line!) (#mandatory)
|
||||
description='''
|
||||
This is a long form description of the mod. You can write whatever you want here
|
||||
Find Your Way provides several compasses to structures generated by Minecraft.
|
||||
|
||||
Have some lorem ipsum.
|
||||
Current compasses include:
|
||||
- Ender Compass
|
||||
- Fortress Compass
|
||||
- Mansion Compass
|
||||
- Monument Compass
|
||||
- Village Compass
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magna. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed sagittis luctus odio eu tempus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Pellentesque volutpat ligula eget lacus auctor sagittis. In hac habitasse platea dictumst. Nunc gravida elit vitae sem vehicula efficitur. Donec mattis ipsum et arcu lobortis, eleifend sagittis sem rutrum. Cras pharetra quam eget posuere fermentum. Sed id tincidunt justo. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
The compasses automatically point to the nearest structure for the world you are in, and always point forwards if the structure does not exist in your world. You can right-click to re-scan for new structures, such as new Villages.
|
||||
|
||||
The Stronghold Compass points to the same location as Ender Eyes, so you still need to explore the actual stronghold to find the End Portal.
|
||||
'''
|
||||
# A dependency - use the . to indicate dependency for a specific modid. Dependencies are optional.
|
||||
[[dependencies.examplemod]] #optional
|
||||
[[dependencies.findyourway]] #optional
|
||||
# the modid of the dependency
|
||||
modId="forge" #mandatory
|
||||
# Does this dependency have to exist - if not, ordering below must be specified
|
||||
@@ -47,10 +54,3 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed mollis lacinia magn
|
||||
ordering="NONE"
|
||||
# Side this dependency is applied on - BOTH, CLIENT or SERVER
|
||||
side="BOTH"
|
||||
# Here's another dependency
|
||||
[[dependencies.examplemod]]
|
||||
modId="minecraft"
|
||||
mandatory=true
|
||||
versionRange="[1.14.2]"
|
||||
ordering="NONE"
|
||||
side="BOTH"
|
10
src/main/resources/assets/findyourway/lang/en_US.json
Normal file
10
src/main/resources/assets/findyourway/lang/en_US.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"key.categories.findyourway": "Find Your Way",
|
||||
"item.findyourway.ender_compass": "Ender Compass",
|
||||
"item.findyourway.village_compass": "Village Compass",
|
||||
"item.findyourway.fortress_compass": "Fortress Compass",
|
||||
"item.findyourway.monument_compass": "Monument Compass",
|
||||
"item.findyourway.mansion_compass": "Mansion Compass",
|
||||
|
||||
"itemGroup.FindYourWay": "Find Your Way"
|
||||
}
|
@@ -1,6 +0,0 @@
|
||||
# Items
|
||||
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
|
||||
item.findyourway.mansion_compass.name=Mansion Compass
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_16"
|
||||
},
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_16"
|
||||
},
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_00"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_01"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_02"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_03"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_04"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_05"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_06"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_07"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_08"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_09"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_10"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_11"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_12"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_13"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_14"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_15"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_16"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_17"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_18"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_19"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_20"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_21"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_22"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_23"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_24"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_25"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_26"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_27"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_28"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_29"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_30"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/ender_compass_31"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_00"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_01"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_02"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_03"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_04"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_05"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_06"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_07"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_08"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_09"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_10"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_11"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_12"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_13"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_14"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_15"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_16"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_17"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_18"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_19"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_20"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_21"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_22"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_23"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_24"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_25"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_26"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_27"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_28"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_29"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_30"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/fortress_compass_31"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_00"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_01"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_02"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_03"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_04"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_05"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_06"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_07"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_08"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_09"
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"parent": "item/generated",
|
||||
"parent": "item/handheld",
|
||||
"textures": {
|
||||
"layer0": "findyourway:items/mansion_compass_10"
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user