fix multiPlayer crash

This commit is contained in:
Steven Liu committed 2016-03-22 19:32:25 +08:00
1 parent 2d9b43afc3
commit 658f175f7e
6 files changed
+35 -29

No files matched your search

@@ -34,7 +34,8 @@ import java.io.File;
* @author Towdium
*/
@Mod(modid = JustEnoughCalculation.Reference.MODID, name = JustEnoughCalculation.Reference.MODNAME, version = JustEnoughCalculation.Reference.VERSION)
@Mod(modid = JustEnoughCalculation.Reference.MODID, name = JustEnoughCalculation.Reference.MODNAME, version = JustEnoughCalculation.Reference.VERSION,
dependencies = "after:NotEnoughItems")
public class JustEnoughCalculation{
public static Item itemCalculator = new ItemCalculator().setUnlocalizedName("itemCalculator").setTextureName(Reference.MODID + ":" + "itemCalculator");
public static SimpleNetworkWrapper networkWrapper;
@@ -49,7 +50,7 @@ public class JustEnoughCalculation{
public static class Reference {
public static final String MODID = "je_calculation";
public static final String MODNAME = "Just Enough Calculation";
public static final String VERSION = "0.1.0";
public static final String VERSION = "0.1.1";
}
@Mod.EventHandler
@@ -3,8 +3,13 @@ package pers.towdium.justEnoughCalculation.event;
import codechicken.nei.recipe.GuiCraftingRecipe;
import codechicken.nei.recipe.ICraftingHandler;
import codechicken.nei.recipe.TemplateRecipeHandler;
import cpw.mods.fml.common.eventhandler.EventPriority;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.event.entity.EntityJoinWorldEvent;
import net.minecraftforge.event.entity.player.ItemTooltipEvent;
import net.minecraftforge.event.entity.player.PlayerOpenContainerEvent;
import pers.towdium.justEnoughCalculation.JustEnoughCalculation;
import net.minecraftforge.event.entity.player.PlayerEvent.*;
import pers.towdium.justEnoughCalculation.gui.guis.calculator.ContainerCalculator;
@@ -24,30 +29,6 @@ public class PlayerEventHandler {
@SubscribeEvent
public void onSave(SaveToFile event){
JustEnoughCalculation.proxy.getPlayerHandler().handleSave(event);
if(!JustEnoughCalculation.JECConfig.initialized){
ArrayList<String> idents = new ArrayList<>();
LOOP:
for(ICraftingHandler handler : GuiCraftingRecipe.craftinghandlers){
if(handler instanceof TemplateRecipeHandler){
if(((TemplateRecipeHandler) handler).getOverlayIdentifier() == null){
continue;
}
for (String id : idents){
if(((TemplateRecipeHandler) handler).getOverlayIdentifier().equals(id) ){
continue LOOP;
}
}
idents.add(((TemplateRecipeHandler) handler).getOverlayIdentifier());
}
}
String[] strings = new String[idents.size()];
for(int i=0; i<idents.size(); i++){
strings[i] = idents.get(i);
}
JustEnoughCalculation.JECConfig.EnumItems.ListRecipeCategory.getProperty().set(strings);
JustEnoughCalculation.JECConfig.save();
JustEnoughCalculation.JECConfig.initialized = true;
}
}
@SubscribeEvent
@@ -3,6 +3,7 @@ package pers.towdium.justEnoughCalculation.gui.guis.calculator;
import codechicken.nei.recipe.GuiCraftingRecipe;
import codechicken.nei.recipe.ICraftingHandler;
import codechicken.nei.recipe.TemplateRecipeHandler;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
@@ -74,6 +75,30 @@ public class GuiCalculator extends GuiTooltipScreen{
dest.inventory.setInventorySlotContents(dest.getSlotIndex(), ItemStackWrapper.NBT.getItem(itemStack, "dest"));
textFieldAmount.setText(ItemStackWrapper.NBT.getString(itemStack, "text"));
updateLayout();
if(!JustEnoughCalculation.JECConfig.initialized){
ArrayList<String> idents = new ArrayList<>();
LOOP:
for(ICraftingHandler handler : GuiCraftingRecipe.craftinghandlers){
if(handler instanceof TemplateRecipeHandler){
if(((TemplateRecipeHandler) handler).getOverlayIdentifier() == null){
continue;
}
for (String id : idents){
if(((TemplateRecipeHandler) handler).getOverlayIdentifier().equals(id) ){
continue LOOP;
}
}
idents.add(((TemplateRecipeHandler) handler).getOverlayIdentifier());
}
}
String[] strings = new String[idents.size()];
for(int i=0; i<idents.size(); i++){
strings[i] = idents.get(i);
}
JustEnoughCalculation.JECConfig.EnumItems.ListRecipeCategory.getProperty().set(strings);
JustEnoughCalculation.JECConfig.save();
JustEnoughCalculation.JECConfig.initialized = true;
}
}
@Override
@@ -21,7 +21,7 @@ public class ItemCalculator extends Item {
public ItemStack onItemRightClick(ItemStack itemStackIn, World worldIn, EntityPlayer playerIn) {
playerIn.openGui(JustEnoughCalculation.instance, GuiHandler.GuiId.CALCULATOR, worldIn, 0, 0, 0);
ItemStack stack = playerIn.inventory.getStackInSlot(0);
JustEnoughCalculation.log.info(stack==null ? "" : stack.getItem().getUnlocalizedName() + "-" + stack.getItemDamage());
//JustEnoughCalculation.log.info(stack==null ? "" : stack.getItem().getUnlocalizedName() + "-" + stack.getItemDamage());
return itemStackIn;
}
}