Compare commits

...

6 Commits
1.0.1 ... main

@ -1,5 +1,6 @@
plugins {
id 'babric-loom' version '0.12-SNAPSHOT'
id 'com.github.johnrengelman.shadow' version '7.1.2'
id 'java'
}
@ -7,6 +8,23 @@ group = project.mod_group
archivesBaseName = project.mod_name
version = project.mod_version
//Begin shadowing weirdness
configurations {
shade
}
shadowJar {
archiveClassifier.set('shadow')
configurations = [project.configurations.shade]
}
tasks.assemble.dependsOn tasks.shadowJar
remapJar {
dependsOn(shadowJar)
inputFile.set(shadowJar.archiveFile)
}
//End shadowing weirdness
loom {
gluedMinecraftJar()
noIntermediateMappings()
@ -63,7 +81,7 @@ dependencies {
modImplementation "org.apache.logging.log4j:log4j-slf4j18-impl:2.16.0"
//TOML
implementation 'com.moandjiezana.toml:toml4j:0.7.2'
modImplementation include(shadow('com.moandjiezana.toml:toml4j:0.7.2'))
}

@ -14,6 +14,6 @@ loader_version=0.14.6-babric.1
halplibe_version=1.0.9
# Mod
mod_version=1.0.1
mod_version=1.0.2
mod_group=net.brokenmoon
mod_name=afloydironchest

@ -15,8 +15,6 @@ import turniplabs.halplibe.helper.BlockHelper;
import turniplabs.halplibe.helper.RecipeHelper;
import java.io.*;
import java.net.URISyntaxException;
import java.net.URL;
public class IronChestMain implements ModInitializer {
@ -33,10 +31,10 @@ public class IronChestMain implements ModInitializer {
LOGGER.info("AFloydIronChest initialized.");
//Config
Toml toml = new Toml().read(this.getConfig());
int ironChestId = toml.getLong("ids.ironChestID").intValue();
int goldChestId = toml.getLong("ids.goldChestID").intValue();
int diamondChestId = toml.getLong("ids.diamondChestID").intValue();
int steelChestId = toml.getLong("ids.steelChestID").intValue();
int ironChestId = toml.getLong("ids.ironChestID", (long)900).intValue();
int goldChestId = toml.getLong("ids.goldChestID", (long)901).intValue();
int diamondChestId = toml.getLong("ids.diamondChestID", (long)902).intValue();
int steelChestId = toml.getLong("ids.steelChestID", (long)903).intValue();
//Blocks
@ -59,6 +57,7 @@ public class IronChestMain implements ModInitializer {
"steelchesttop.png", "steelchestbottom.png",
"steelchestfront.png", "steelchestside.png", "steelchestside.png", "steelchestside.png",
Block.soundMetalFootstep, 5, 6, 0);
//Recipes
RecipeHelper.Crafting.createRecipe(IronChest, 1, new Object[]{
"AAA",
@ -97,18 +96,21 @@ public class IronChestMain implements ModInitializer {
});
}
public File getConfig(){
public static File getConfig() {
File config = new File("config/AstoriaIronChest.toml");
if (!config.exists()) {
LOGGER.warn("Config For afloydironchest Not Found! Creating new config based upon default :)");
InputStream in;
OutputStream out;
try {
in = new FileInputStream(getDefaultConfig());
File configDir = new File("config");
if (!configDir.exists())
configDir.mkdir();
in = IronChestMain.class.getClassLoader().getResourceAsStream("assets/ironchest/config.toml");
out = new FileOutputStream(config);
byte[] buffer = new byte[1024];
int length;
while((length = in.read(buffer)) > 0){
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
return getConfig();
@ -120,18 +122,4 @@ public class IronChestMain implements ModInitializer {
return config;
}
}
public File getDefaultConfig() {
URL defaultConfig = getClass().getClassLoader().getResource("assets/ironchest/config.toml");
if (defaultConfig == null) {
LOGGER.warn("Default Config For afloydironchest Not Found! REAL BAD.");
} else {
try {
return new File(defaultConfig.toURI());
} catch (URISyntaxException e) {
throw new RuntimeException(e);
}
}
return null;
}
}
}

@ -1,5 +1,7 @@
package net.brokenmoon.afloydironchest.mixin;
import com.moandjiezana.toml.Toml;
import net.brokenmoon.afloydironchest.IronChestMain;
import net.brokenmoon.afloydironchest.MixinInterfaces.IEntityPlayerMP;
import net.brokenmoon.afloydironchest.gui.ContainerWideChest;
import net.minecraft.src.*;
@ -17,6 +19,8 @@ public class MixinEntityPlayerMP implements IEntityPlayerMP {
@Shadow
public NetServerHandler playerNetServerHandler;
public int ironchest_windowid = 0;
public void displayGUIIronChest(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 + ")");
@ -29,9 +33,19 @@ public class MixinEntityPlayerMP implements IEntityPlayerMP {
public void displayGUIDiamondChest(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, 7, iinventory.getInvName(), iinventory.getSizeInventory()));
this.playerNetServerHandler.sendPacket(new Packet100OpenWindow(this.currentWindowId, getIronchest_windowid(), iinventory.getInvName(), iinventory.getSizeInventory()));
((EntityPlayerMP)(Object)this).craftingInventory = new ContainerWideChest(((EntityPlayerMP)(Object)this).inventory, iinventory);
((EntityPlayerMP)(Object)this).craftingInventory.windowId = this.currentWindowId;
((EntityPlayerMP)(Object)this).craftingInventory.onContainerInit(((EntityPlayerMP)(Object)this));
}
public int getIronchest_windowid(){
if (ironchest_windowid != 0 ){
return ironchest_windowid;
} else{
Toml toml = new Toml().read(IronChestMain.getConfig());
ironchest_windowid = toml.getLong("ids.diamondWindowID", (long)7).intValue();
return getIronchest_windowid();
}
}
}

@ -1,5 +1,7 @@
package net.brokenmoon.afloydironchest.mixin;
import com.moandjiezana.toml.Toml;
import net.brokenmoon.afloydironchest.IronChestMain;
import net.brokenmoon.afloydironchest.MixinInterfaces.IEntityPlayerSP;
import net.brokenmoon.afloydironchest.tileEntities.TileEntityDiamondChest;
import net.minecraft.client.Minecraft;
@ -14,16 +16,28 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(value = NetClientHandler.class, remap = false)
public class MixinNetClientHandler {
private int ironchest_windowid = 0;
@Shadow
private Minecraft mc;
@Inject(method = "handleOpenWindow", at = @At("TAIL"))
public void injectMethod(Packet100OpenWindow packet100openwindow, CallbackInfo info) {
if (packet100openwindow.inventoryType == 7) {
if (packet100openwindow.inventoryType == getIronchest_windowid()) {
TileEntityDiamondChest dchest = new TileEntityDiamondChest();
((IEntityPlayerSP)this.mc.thePlayer).displayGUIDiamondChest(dchest);
this.mc.thePlayer.craftingInventory.windowId = packet100openwindow.windowId;
}
}
public int getIronchest_windowid(){
if (ironchest_windowid != 0 ){
return ironchest_windowid;
} else{
Toml toml = new Toml().read(IronChestMain.getConfig());
ironchest_windowid = toml.getLong("ids.diamondWindowID", (long)7).intValue();
return getIronchest_windowid();
}
}
}

@ -2,4 +2,5 @@
ironChestID = 900
goldChestID = 901
diamondChestID = 902
steelChestID = 903
steelChestID = 903
diamondWindowID = 7
Loading…
Cancel
Save