From fc9265cebea3dfa0b98be59a73720361562cecdf Mon Sep 17 00:00:00 2001 From: Astoria Date: Sun, 19 Mar 2023 13:14:08 -0500 Subject: [PATCH] Partially working, partially not --- gradle.properties | 4 +- gradlew | 0 .../afloydtubemod/Afloydtubemod.java | 25 ++++++++ .../afloydtubemod/block/BlockTransposer.java | 43 +++++++++++++ .../afloydtubemod/block/BlockTube.java | 19 ++++++ .../gui/ContainerTransposer.java | 59 ++++++++++++++++++ .../afloydtubemod/gui/GuiTransposer.java | 31 +++++++++ .../mixin/MixinEntityPlayerMP.java | 30 +++++++++ .../mixin/MixinEntityPlayerSP.java | 20 ++++++ .../mixin/MixinNetClientHandler.java | 27 ++++++++ .../afloydtubemod/mixin/MixinTileEntity.java | 18 ++++++ .../mixinInterface/IEntityPlayer.java | 7 +++ .../tileEntity/TileEntityTransposer.java | 43 +++++++++++++ .../tileEntity/TileEntityTube.java | 6 ++ .../turniplabs/examplemod/ExampleMod.java | 16 ----- ....mixins.json => afloydtubemod.mixins.json} | 6 +- .../assets/tubemod/block/testTexture.png | Bin 0 -> 1375 bytes .../tubemod/gui/containerTransposer.png | Bin 0 -> 1399 bytes src/main/resources/fabric.mod.json | 20 +++--- .../resources/lang/afloydtubemod/en_US.lang | 2 + src/main/resources/lang/examplemod/en_US.lang | 0 21 files changed, 350 insertions(+), 26 deletions(-) mode change 100644 => 100755 gradlew create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/Afloydtubemod.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/block/BlockTransposer.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/block/BlockTube.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/gui/ContainerTransposer.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/gui/GuiTransposer.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerMP.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerSP.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinNetClientHandler.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinTileEntity.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTransposer.java create mode 100644 src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTube.java delete mode 100644 src/main/java/turniplabs/examplemod/ExampleMod.java rename src/main/resources/{examplemod.mixins.json => afloydtubemod.mixins.json} (51%) create mode 100644 src/main/resources/assets/tubemod/block/testTexture.png create mode 100644 src/main/resources/assets/tubemod/gui/containerTransposer.png create mode 100644 src/main/resources/lang/afloydtubemod/en_US.lang delete mode 100644 src/main/resources/lang/examplemod/en_US.lang diff --git a/gradle.properties b/gradle.properties index 18b8f4a..a447610 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,5 +15,5 @@ halplibe_version=1.0.9 # Mod mod_version=1.0.0 -mod_group=turniplabs -mod_name=examplemod +mod_group=net.brokenmoon +mod_name=afloydtubemod diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/src/main/java/net/brokenmoon/afloydtubemod/Afloydtubemod.java b/src/main/java/net/brokenmoon/afloydtubemod/Afloydtubemod.java new file mode 100644 index 0000000..5bff7eb --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/Afloydtubemod.java @@ -0,0 +1,25 @@ +package net.brokenmoon.afloydtubemod; + +import net.brokenmoon.afloydtubemod.block.BlockTransposer; +import net.fabricmc.api.ModInitializer; +import net.minecraft.src.Block; +import net.minecraft.src.Material; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import turniplabs.halplibe.helper.BlockHelper; + + +public class Afloydtubemod implements ModInitializer { + public static final String MOD_ID = "tubemod"; + public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); + + public static final Block tubeBlock = BlockHelper.createBlock(MOD_ID, new Block(904, Material.iron), "tubeBlock", "testTexture.png", Block.soundMetalFootstep, 5, 5, 0); + public static final Block transposerBlock = BlockHelper.createBlock(MOD_ID, new BlockTransposer(905, Material.iron), "transposerBlock", "testTexture.png", Block.soundMetalFootstep, 5, 5, 0); + + + @Override + public void onInitialize() { + LOGGER.info("Afloydtubemod initialized."); + + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTransposer.java b/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTransposer.java new file mode 100644 index 0000000..ad1c8bc --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTransposer.java @@ -0,0 +1,43 @@ +package net.brokenmoon.afloydtubemod.block; + +import net.brokenmoon.afloydtubemod.mixinInterface.IEntityPlayer; +import net.brokenmoon.afloydtubemod.tileEntity.TileEntityTransposer; +import net.minecraft.src.*; + +public class BlockTransposer extends BlockContainerRotatable { + + private boolean isActive; + public BlockTransposer(int i, Material material) { + super(i, material); + this.isActive = isActive; + } + + public void onBlockAdded(World world, int i, int j, int k) { + super.onBlockAdded(world, i, j, k); + this.setDefaultDirection(world, i, j, k); + } + + @Override + public boolean blockActivated(World world, int x, int y, int z, EntityPlayer entityplayer) { + IInventory inventory = (TileEntityTransposer)world.getBlockTileEntity(x, y, z); + if (!world.isMultiplayerAndNotHost) + this.displayGui(entityplayer, inventory); + return true; + } + + @Override + protected TileEntity getBlockEntity() { + return new TileEntityTransposer(); + } + + public static void displayGui(EntityPlayer player, IInventory inventory){ + if(player instanceof EntityPlayerMP) { + //Multiplayer + ((IEntityPlayer)player).displayGUITransposer(inventory); + return; + } + //Singleplayer + System.out.println("One"); + ((IEntityPlayer)player).displayGUITransposer(inventory); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTube.java b/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTube.java new file mode 100644 index 0000000..212f8ec --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/block/BlockTube.java @@ -0,0 +1,19 @@ +package net.brokenmoon.afloydtubemod.block; + +import net.minecraft.src.BlockContainer; +import net.minecraft.src.Material; +import net.minecraft.src.TileEntity; +import net.brokenmoon.afloydtubemod.tileEntity.TileEntityTube; + +public class BlockTube extends BlockContainer { + + + public BlockTube(int i, Material material) { + super(i, material); + } + + @Override + protected TileEntity getBlockEntity(){ + return new TileEntityTube(); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/gui/ContainerTransposer.java b/src/main/java/net/brokenmoon/afloydtubemod/gui/ContainerTransposer.java new file mode 100644 index 0000000..5e5de8e --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/gui/ContainerTransposer.java @@ -0,0 +1,59 @@ +package net.brokenmoon.afloydtubemod.gui; + +import net.minecraft.src.*; + + +public class ContainerTransposer extends Container { + + private IInventory inventory; + private int numberOfRowsUpper; + + public ContainerTransposer(IInventory lowerInventory, IInventory upperInventory) { + this.inventory = upperInventory; + this.numberOfRowsUpper = upperInventory.getSizeInventory() / 3; + //Upper + for (int j = 0; j < this.numberOfRowsUpper; ++j) { + for (int i1 = 0; i1 < 12; ++i1) { + this.addSlot(new Slot(upperInventory, i1 + j * 12, 8 + i1 * 18, 8 + j * 18)); + } + } + //Lower + for (int k = 0; k < 3; ++k) { + for (int j1 = 0; j1 < 9; ++j1) { + this.addSlot(new Slot(lowerInventory, j1 + k * 9 + 9, 8 + 18 + 9 + j1 * 18, 174 + k * 18)); + } + } + //Taskbar + for (int l = 0; l < 9; ++l) { + this.addSlot(new Slot(lowerInventory, l, 8 + 18 + 9 + l * 18, 232)); + } + } + + @Override + public void quickMoveItems(int slotID, EntityPlayer player, boolean shift, boolean control) { + Slot slot = (Slot)this.inventorySlots.get(slotID); + if (slot == null || !slot.hasStack()) { + return; + } + ItemStack item = slot.getStack(); + ItemStack originalItem = item.copy(); + if (slotID < this.numberOfRowsUpper * 12) { + this.onStackMergeShiftClick(item, this.numberOfRowsUpper * 3, this.inventorySlots.size(), true); + } else { + this.onStackMergeShiftClick(item, 0, this.numberOfRowsUpper * 3, false); + } + if (item.stackSize == 0) { + slot.putStack(null); + } else { + slot.onSlotChanged(); + } + if (item.stackSize != originalItem.stackSize) { + slot.onPickupFromSlot(item); + } + } + + @Override + public boolean isUsableByPlayer(EntityPlayer entityPlayer) { + return this.inventory.canInteractWith(entityPlayer); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/gui/GuiTransposer.java b/src/main/java/net/brokenmoon/afloydtubemod/gui/GuiTransposer.java new file mode 100644 index 0000000..9e1767d --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/gui/GuiTransposer.java @@ -0,0 +1,31 @@ +package net.brokenmoon.afloydtubemod.gui; + +import net.minecraft.src.GuiContainer; +import net.minecraft.src.IInventory; +import org.lwjgl.opengl.GL11; + +public class GuiTransposer extends GuiContainer { + private IInventory upperChestInventory; + private IInventory lowerChestInventory; + private int inventoryRows; + public GuiTransposer(IInventory iinventory, IInventory iinventory1) { + super(new ContainerTransposer(iinventory, iinventory1)); + this.upperChestInventory = iinventory; + this.lowerChestInventory = iinventory1; + this.field_948_f = false; + this.inventoryRows = iinventory1.getSizeInventory() / 3; + this.ySize = 176; + this.xSize = 166; + System.out.println("Three"); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float f) { + int i = this.mc.renderEngine.getTexture("/assets/tubemod/gui/containerTransposer.png"); + GL11.glColor4f(1.0f, 1.0f, 1.0f, 1.0f); + this.mc.renderEngine.bindTexture(i); + int x = (this.width - this.xSize) / 2; + int y = (this.height - this.ySize) / 2; + this.drawTexturedModalRect(x, y, 0, 0, this.xSize, this.ySize); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerMP.java b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerMP.java new file mode 100644 index 0000000..f41f725 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerMP.java @@ -0,0 +1,30 @@ +package net.brokenmoon.afloydtubemod.mixin; + +import net.brokenmoon.afloydtubemod.gui.ContainerTransposer; +import net.brokenmoon.afloydtubemod.mixinInterface.IEntityPlayer; +import net.minecraft.src.EntityPlayerMP; +import net.minecraft.src.IInventory; +import net.minecraft.src.NetServerHandler; +import net.minecraft.src.Packet100OpenWindow; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = EntityPlayerMP.class, remap = false) +public class MixinEntityPlayerMP implements IEntityPlayer { + @Shadow + private void getNextWindowId() {} + @Shadow + private int currentWindowId; + @Shadow + public NetServerHandler playerNetServerHandler; + + @Override + public void displayGUITransposer(IInventory iInventory) { + this.getNextWindowId(); + NetServerHandler.logger.info(((EntityPlayerMP)(Object)this).username + " interacted with chest at (" + ((EntityPlayerMP)(Object)this).posX + ", " + ((EntityPlayerMP)(Object)this).posY + ", " + ((EntityPlayerMP)(Object)this).posZ + ")"); + this.playerNetServerHandler.sendPacket(new Packet100OpenWindow(this.currentWindowId, 8, iInventory.getInvName(), iInventory.getSizeInventory())); + ((EntityPlayerMP)(Object)this).craftingInventory = new ContainerTransposer(((EntityPlayerMP)(Object)this).inventory, iInventory); + ((EntityPlayerMP)(Object)this).craftingInventory.windowId = this.currentWindowId; + ((EntityPlayerMP)(Object)this).craftingInventory.onContainerInit(((EntityPlayerMP)(Object)this)); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerSP.java b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerSP.java new file mode 100644 index 0000000..3c467c1 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinEntityPlayerSP.java @@ -0,0 +1,20 @@ +package net.brokenmoon.afloydtubemod.mixin; + +import net.brokenmoon.afloydtubemod.gui.GuiTransposer; +import net.brokenmoon.afloydtubemod.mixinInterface.IEntityPlayer; +import net.minecraft.client.Minecraft; +import net.minecraft.src.EntityPlayerSP; +import net.minecraft.src.IInventory; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = EntityPlayerSP.class, remap = false) +public class MixinEntityPlayerSP implements IEntityPlayer { + @Shadow + protected Minecraft mc; + @Override + public void displayGUITransposer(IInventory iInventory) { + System.out.println("Two"); + this.mc.displayGuiScreen(new GuiTransposer(((EntityPlayerSP)(Object)this).inventory, iInventory)); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinNetClientHandler.java b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinNetClientHandler.java new file mode 100644 index 0000000..3b86e0b --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinNetClientHandler.java @@ -0,0 +1,27 @@ +package net.brokenmoon.afloydtubemod.mixin; + +import net.brokenmoon.afloydtubemod.mixinInterface.IEntityPlayer; +import net.brokenmoon.afloydtubemod.tileEntity.TileEntityTransposer; +import net.minecraft.client.Minecraft; +import net.minecraft.src.NetClientHandler; +import net.minecraft.src.Packet100OpenWindow; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(value = NetClientHandler.class, remap = false) +public class MixinNetClientHandler { + @Shadow + private Minecraft mc; + + @Inject(method = "handleOpenWindow", at = @At("TAIL")) + public void injectMethod(Packet100OpenWindow packet100openwindow, CallbackInfo info) { + if (packet100openwindow.inventoryType == 8) { + TileEntityTransposer trans = new TileEntityTransposer(); + ((IEntityPlayer)this.mc.thePlayer).displayGUITransposer(trans); + this.mc.thePlayer.craftingInventory.windowId = packet100openwindow.windowId; + } + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinTileEntity.java b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinTileEntity.java new file mode 100644 index 0000000..30a6370 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/mixin/MixinTileEntity.java @@ -0,0 +1,18 @@ +package net.brokenmoon.afloydtubemod.mixin; + +import net.brokenmoon.afloydtubemod.tileEntity.TileEntityTransposer; +import net.brokenmoon.afloydtubemod.tileEntity.TileEntityTube; +import net.minecraft.src.TileEntity; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +@Mixin(value = TileEntity.class, remap = false) +public class MixinTileEntity { + @Shadow + private static void addMapping(Class class1, String s) {} + + static { + addMapping(TileEntityTransposer.class, "Iron Chest"); + addMapping(TileEntityTube.class, "Gold Chest"); + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer.java b/src/main/java/net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer.java new file mode 100644 index 0000000..10af180 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer.java @@ -0,0 +1,7 @@ +package net.brokenmoon.afloydtubemod.mixinInterface; + +import net.minecraft.src.IInventory; + +public interface IEntityPlayer { + public void displayGUITransposer(IInventory iInventory); +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTransposer.java b/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTransposer.java new file mode 100644 index 0000000..c531f87 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTransposer.java @@ -0,0 +1,43 @@ +package net.brokenmoon.afloydtubemod.tileEntity; + +import net.minecraft.src.EntityPlayer; +import net.minecraft.src.IInventory; +import net.minecraft.src.ItemStack; +import net.minecraft.src.TileEntity; + +public class TileEntityTransposer extends TileEntity implements IInventory { + @Override + public int getSizeInventory() { + return 0; + } + + @Override + public ItemStack getStackInSlot(int i) { + return null; + } + + @Override + public ItemStack decrStackSize(int i, int j) { + return null; + } + + @Override + public void setInventorySlotContents(int i, ItemStack itemStack) { + + } + + @Override + public String getInvName() { + return null; + } + + @Override + public int getInventoryStackLimit() { + return 0; + } + + @Override + public boolean canInteractWith(EntityPlayer entityPlayer) { + return false; + } +} diff --git a/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTube.java b/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTube.java new file mode 100644 index 0000000..cc62546 --- /dev/null +++ b/src/main/java/net/brokenmoon/afloydtubemod/tileEntity/TileEntityTube.java @@ -0,0 +1,6 @@ +package net.brokenmoon.afloydtubemod.tileEntity; + +import net.minecraft.src.TileEntity; + +public class TileEntityTube extends TileEntity { +} diff --git a/src/main/java/turniplabs/examplemod/ExampleMod.java b/src/main/java/turniplabs/examplemod/ExampleMod.java deleted file mode 100644 index eb07098..0000000 --- a/src/main/java/turniplabs/examplemod/ExampleMod.java +++ /dev/null @@ -1,16 +0,0 @@ -package turniplabs.examplemod; - -import net.fabricmc.api.ModInitializer; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -public class ExampleMod implements ModInitializer { - public static final String MOD_ID = "examplemod"; - public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); - - @Override - public void onInitialize() { - LOGGER.info("ExampleMod initialized."); - } -} diff --git a/src/main/resources/examplemod.mixins.json b/src/main/resources/afloydtubemod.mixins.json similarity index 51% rename from src/main/resources/examplemod.mixins.json rename to src/main/resources/afloydtubemod.mixins.json index e98223c..c3a49d2 100644 --- a/src/main/resources/examplemod.mixins.json +++ b/src/main/resources/afloydtubemod.mixins.json @@ -1,9 +1,13 @@ { "required": true, "minVersion": "0.8", - "package": "turniplabs.examplemod.mixin", + "package": "net.brokenmoon.afloydtubemod.mixin", "compatibilityLevel": "JAVA_8", "mixins": [ + "MixinEntityPlayerSP", + "MixinEntityPlayerMP", + "MixinNetClientHandler", + "MixinTileEntity" ], "client": [ ], diff --git a/src/main/resources/assets/tubemod/block/testTexture.png b/src/main/resources/assets/tubemod/block/testTexture.png new file mode 100644 index 0000000000000000000000000000000000000000..249d12f4156348a0e8b486569314d0acc370dcce GIT binary patch literal 1375 zcmV-l1)%zgP)EX>4Tx04R}tkv&MmKpe$iQ^lec2Rn#3WT-A$5EXIMDionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|=;Wm6A|?JWDYS_3;J6>}?mh0_0YbgZG^=AA&~)2O zCE{WxyDE0Qq6Z;F5XGp>EMrcRlJFg0_XzOyF2=L`&;2=i)ttqEfJi*c4AUmwAfDc| z4bJ<-5muB{;&b9LlP*a7$aTfzH_io@1)do()2Vsl2(egbW2KE*(bR~ih@+~eQ@)V# zSmnIMSu0mr^Pc>L;hes*%ypVWNMI35kRU=q6(y8mBSx!EiiH&I$9?>Ru3sXTLaq`R zITlcX2HEw4|H1EWt^DMKmlTczoiC2_F${F=0*#vEd>=bb;{*sk16O*>U#SB#pQP7X zTJ#9$+XgPKTbi;5T000McNliru<_icEIv#o?qjvxR02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00TEkL_t(I%LTz%QyT>U!14bc$zIuPLat>KlAsj`q?Ajc zFYVfkdjvQM3>aLujtuY;`-`} zxD`VbqQp&|_T4?MJK*Hxl%eY~^U(})RE9AiK=*wgD-lCh)F_f9lFK+W4)$p@kFfI= z@kEMTDvj;ru?&;97uU4joe&~W$U78EMMObBT%3P|q38^TeQs_qSzfJ>O=p-c=9zS| zXi=H1r(1OYyTQp7iN#`!gE41kXISP0!uQ{O6Kaae%JL$jEYk0Lj2Yp(BX)OoSYQ7H zL6kW=J;C#QOv@xBBt4PB^G3)^OAB=0_t>fJG4T3)y74)8ZI6RS6UQ#{`>Ptd8KY8} zLlz?({_%#alSPz7!aziH-4SmN4~ZvDs*7K+yI&)1Cy441I-L%wY?@py&GGRuy+I$R z=%7R+y!iDc`;9u{(O*Zbt!_}?X>xwH!(iYdiUQqkk3uQOXf&dI*C7~z6*GxQP6y0Hun4xledxvA^kR*ZO&_#{L$k`Kkfsd|fEHAI}_wf;z z7cHc(zxr~svEO8Ebp=_Jafc&3-($i`W9SCibOxt1h41@3`RQkZFvQSe_`wLx(2!+C zVGQi<)iEstF)C0g&*8aa{%!q3G8w0~Tco8hNKZuMLv8`;`-X4H|UeeqzDk$+S;bNFbjc%v@q*z7K#Pp@i?j?(H{)aRFz)$ zJr|c(*!CoXAW|-s2?B`93K1znAOz^Tj=22s8mA|3sn_ca+<-~jVRx^NKMt`oSu8U_ zb!L{QTiaY+UlC7e7^cpYQ{eS)uaG|5SlCoGon*o!1PV?GLo*n9144Y-_xHSb`J9-Q zK+{xO=PfKN&9h&gkk1#85quO);ilatlgiQfvxyY=q*4=@nnfs$k;@P04ZFCmhadXL hiqG8qJl$@O{{bKuQGyKJwR->n002ovPDHLkV1jRWglPZ( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/tubemod/gui/containerTransposer.png b/src/main/resources/assets/tubemod/gui/containerTransposer.png new file mode 100644 index 0000000000000000000000000000000000000000..41fea0fc6aa1f7915991087e37608ba5dd4f379a GIT binary patch literal 1399 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$5xr)7d$|)7e>}peR2rGbfdS zL1SX=L|c!;4l+mMgIy=CS|IDrRmZ*iH?32CsFYt7p^yrbs4l$WO z5o@e=SiFAqK#QYEUSXY{Uzc9cqyLkfx+VDget&#-@9{fXg)66hHd`e%EW4eiB`9uu zGj!u?QAZwz7l&7z(Mk53H0gtE{CAEIU-eFH{&W7XW!2R=M;jVEWRlx5h4Tf@=iFj@ zUi-*E`;^v4%a1Ld;wp7dc0Kwi{k-Wk(|MlRFR$1X&WO<2vhmWfH5pk)E*}vLy{s93 zqGC=Nu3l5=|L;(MUwq^y5!AuwDFwy@t+dRyUH5f&KBb zCYGe8D3oWGWGJ|M`UZqI@`*DrFb888J1!#=h@O;MPccuw=d+OnK=44UUP|D9&c_2_$Wqxp>G?tht2yk}41ka=?WsDJjh z+~VU^4`dHaXRwjuU+#4ES!G{GM{499PMHGs2anhp8CVzu7#u(e4u!EmcE0Vu<;M$k z<{9!huX!DHbrtx4Gb1c=%(o{ zK3&Uj*x-nX@ATQsOdr}xW4pJ1cr&{uYgV$d0MmzF?qw~#4i)TB6W~UnGY)j-u*A0%Aa%9`lwSXNq=Y-n=?z4^Wy#yx~pA!@m^SaPdIZs(BDRSCh z>mGLupR*hgg!<<~>-2hFi@xNK_8b2H*=qUhPf6c=+y9Fh-pD(2O4YmFp0n-Q5AD!? zd=5}x=mUo8iwnR22>&aYTYPKQ;mWvwHamJ9o?S6`Ua34`KKuWr)(wA|H4-29S}rZl zVfn;|H8!B}196<}CczVPUOg|6lWsh-vaYY!p}vHDLp_6P&K|?%B|z>yMyvsW977A7 z&6s8e|CKrSxky>y$_Y0Gs5kzcI6b{#8`JFI!*iamJ@6-p;T!*gmbKfTO*!|m=oVUB zqgukzpbShxRw>#WEU%t_XtRy!vP^WNEfZML-Mjyad(L-wXfEB8JNs~}-+P8jZ_A3M tOb&A&NVbtrC{r={b(fWaMxcTF2fNo3sfW_e`KLivc)I$ztaD0e0sxN%-YozC literal 0 HcmV?d00001 diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c93d2bc..62bc4e9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,15 +1,15 @@ { "schemaVersion": 1, - "id": "examplemod", + "id": "afloydtubemod", "version": "${version}", - "name": "Example Mod", - "description": "This mod aims to help new BTA modders.", + "name": "Astoria's Tube Mod", + "description": "Basic mod with tube system", "authors": [ - "Turnip Labs" + "Astoria Floyd" ], "contact": { - "homepage": "", + "homepage": "http://broken-moon.net", "sources": "" }, @@ -18,16 +18,22 @@ "environment": "*", "entrypoints": { "main": [ - "turniplabs.examplemod.ExampleMod" + "net.brokenmoon.afloydtubemod.Afloydtubemod" ] }, "mixins": [ - "examplemod.mixins.json" + "afloydtubemod.mixins.json" ], "depends": { "fabricloader": ">=0.13.3" }, "suggests": { + }, + "custom": { + "loom:injected_interfaces": { + "net/minecraft/src/EntityPlayerSP": ["net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer"], + "net/minecraft/src/EntityPlayerMP": ["net/brokenmoon/afloydtubemod/mixinInterface/IEntityPlayer"] + } } } diff --git a/src/main/resources/lang/afloydtubemod/en_US.lang b/src/main/resources/lang/afloydtubemod/en_US.lang new file mode 100644 index 0000000..c58710c --- /dev/null +++ b/src/main/resources/lang/afloydtubemod/en_US.lang @@ -0,0 +1,2 @@ +item.afloydtubemod.item.name=Test Item +item.afloydtubemod.item.desc=Test Desc. \ No newline at end of file diff --git a/src/main/resources/lang/examplemod/en_US.lang b/src/main/resources/lang/examplemod/en_US.lang deleted file mode 100644 index e69de29..0000000