aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author‭huajijam <strhuaji@gmail.com>2019-05-05 20:44:58 +0800
committer‭huajijam <strhuaji@gmail.com>2019-05-05 20:44:58 +0800
commita124b545e09a931d33452a4f244e16b8da0f2e95 (patch)
tree124ff569d7f1c48ef7c3cee7b055b69942e1cc0a
parent63c33c98c3fca4d89adc4fa61fa5de5ae77a11eb (diff)
parente054e77358c4ca1cd5f794274740c3200aed9940 (diff)
downloadGT5-Unofficial-a124b545e09a931d33452a4f244e16b8da0f2e95.tar.gz
GT5-Unofficial-a124b545e09a931d33452a4f244e16b8da0f2e95.tar.bz2
GT5-Unofficial-a124b545e09a931d33452a4f244e16b8da0f2e95.zip
Automatic synchronization
Former-commit-id: 32793104761362ce8b4ce11b288b883f5d6088cc
-rw-r--r--src/main/java/com/github/bartimaeusnek/ASM/BWCore.java5
-rw-r--r--src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java93
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java6
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/classic/BW_TileEntity_LESU_Redux.java493
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java8
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java17
6 files changed, 573 insertions, 49 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java
index 031ff30512..b32537378c 100644
--- a/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java
+++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCore.java
@@ -60,13 +60,16 @@ public class BWCore extends DummyModContainer {
public void preInit(FMLPreInitializationEvent event) {
shouldTransform[0] = Loader.isModLoaded("ExtraUtilities") && ConfigHandler.enabledPatches[0];
shouldTransform[1] = Loader.isModLoaded("ExtraUtilities") && ConfigHandler.enabledPatches[1];
- BWCore.BWCORE_LOG.info("Extra Utilities found? " + shouldTransform[0]);
+ shouldTransform[3] = Loader.isModLoaded("Thaumcraft") && ConfigHandler.enabledPatches[3];
+ BWCore.BWCORE_LOG.info("Extra Utilities found and ASM Patch enabled? " + shouldTransform[0]);
+ BWCore.BWCORE_LOG.info("Thaumcraft found and ASM Patch enabled? " + shouldTransform[3]);
}
@Override
public List<ArtifactVersion> getDependants() {
List<ArtifactVersion> ret = new ArrayList<ArtifactVersion>();
ret.add(new DefaultArtifactVersion("ExtraUtilities", true));
+ ret.add(new DefaultArtifactVersion("Thaumcraft", true));
ret.add(new DefaultArtifactVersion(BartWorksCrossmod.MOD_ID, true));
return ret;
}
diff --git a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java
index bcc67b18d3..1f2d6f942c 100644
--- a/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java
+++ b/src/main/java/com/github/bartimaeusnek/ASM/BWCoreTransformer.java
@@ -39,52 +39,61 @@ public class BWCoreTransformer implements IClassTransformer {
public static final String[] DESCRIPTIONFORCONFIG = {
"REMOVING RAIN FROM LAST MILLENIUM (EXU)",
"REMVOING CREATURES FROM LAST MILLENIUM (EXU)",
- "PATCHING GLOBAL RENDERER FOR USE WITH MY GALACTIC DIMS"
+ "PATCHING GLOBAL RENDERER FOR USE WITH MY GALACTIC DIMS",
+ "PATCHING THAUMCRAFT WAND PEDESTAL TO PREVENT VIS DUPLICATION",
};
public static final String[] CLASSESBEEINGTRANSFORMED = {
"com.rwtema.extrautils.worldgen.endoftime.WorldProviderEndOfTime",
"com.rwtema.extrautils.worldgen.endoftime.ChunkProviderEndOfTime",
"net.minecraft.client.renderer.RenderGlobal",
+ "thaumcraft.common.tiles.TileWandPedestal",
};
- public static boolean obfs = false;
-
- public static boolean[] shouldTransform = new boolean[CLASSESBEEINGTRANSFORMED.length];
-
-// public void checkForMods() {
-// //hacky way to detect if the mods are loaded
-// try{
-// Class.forName("com.rwtema.extrautils.core.Tuple");
-// shouldTransform[0] = true;
-// shouldTransform[1] = true;
-// }catch (ClassNotFoundException e){
-// BWCore.BWCORE_LOG.info("Extra Utilities not found!");
-// shouldTransform[0] = false;
-// shouldTransform[1] = false;
-// }
-// try{
-// Class.forName("micdoodle8.mods.galacticraft.core.Constants");
-// shouldTransform[2] = true;
-// }catch (ClassNotFoundException e){
-// BWCore.BWCORE_LOG.info("micdoodle Core not found!");
-// shouldTransform[2] = false;
-// }
-// }
+ static boolean obfs;
+
+ public static boolean[] shouldTransform = new boolean[BWCoreTransformer.CLASSESBEEINGTRANSFORMED.length];
+
+ /**
+ * Made by DarkShaddow44
+ */
+ private static MethodNode transformThaumcraftWandPedestal(MethodNode method) {
+ InsnList nu = new InsnList();
+ for (int j = 0; j < method.instructions.size(); j++) {
+ AbstractInsnNode instruction = method.instructions.get(j);
+ nu.add(instruction);
+ if (instruction.getOpcode() == INVOKEVIRTUAL) {
+ MethodInsnNode invokevirtual = (MethodInsnNode) instruction;
+ if (invokevirtual.name.equals("addVis")) {
+ AbstractInsnNode beginning = method.instructions.get(j - 7);
+ LabelNode label = new LabelNode();
+ nu.insertBefore(beginning, new VarInsnNode(ALOAD, 0));
+ nu.insertBefore(beginning, new FieldInsnNode(GETFIELD, "thaumcraft/common/tiles/TileWandPedestal", obfs ? "field_145850_b" : "worldObj", "Lnet/minecraft/world/World;"));
+ nu.insertBefore(beginning, new FieldInsnNode(GETFIELD, "net/minecraft/world/World", obfs ? "field_72995_K" : "isRemote", "Z"));
+ nu.insertBefore(beginning, new JumpInsnNode(IFNE, label));
+ nu.add(new InsnNode(POP));
+ nu.add(label);
+ j++; // Skip actual Pop
+ }
+ }
+ }
+ method.instructions = nu;
+ return method;
+ }
public static byte[] transform(int id, byte[] basicClass) {
if (!BWCoreTransformer.shouldTransform[id]) {
- BWCore.BWCORE_LOG.info("Patch: " + DESCRIPTIONFORCONFIG[id] + " is disabled, will not patch!");
+ BWCore.BWCORE_LOG.info("Patch: " + BWCoreTransformer.DESCRIPTIONFORCONFIG[id] + " is disabled, will not patch!");
return basicClass;
}
if (id < BWCoreTransformer.CLASSESBEEINGTRANSFORMED.length) {
- BWCore.BWCORE_LOG.info(DESCRIPTIONFORCONFIG[id]);
+ BWCore.BWCORE_LOG.info(BWCoreTransformer.DESCRIPTIONFORCONFIG[id]);
ClassReader classReader = new ClassReader(basicClass);
ClassNode classNode = new ClassNode();
classReader.accept(classNode, ClassReader.SKIP_FRAMES);
List<MethodNode> methods = classNode.methods;
switch (id) {
case 0: {
- BWCore.BWCORE_LOG.info("Could find: " + CLASSESBEEINGTRANSFORMED[id]);
+ BWCore.BWCORE_LOG.info("Could find: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
String name_deObfs = "canDoRainSnowIce";
String dsc_deObfs = "(Lnet/minecraft/world/chunk/Chunk;)Z";
@@ -112,7 +121,7 @@ public class BWCoreTransformer implements IClassTransformer {
break;
}
case 1: {
- BWCore.BWCORE_LOG.info("Could find: " + CLASSESBEEINGTRANSFORMED[id]);
+ BWCore.BWCORE_LOG.info("Could find: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
String name_deObfs = "getPossibleCreatures";
String name_src = "func_73155_a";
String name_Obfs = "a";
@@ -142,7 +151,7 @@ public class BWCoreTransformer implements IClassTransformer {
String dsc_universal = "(F)V";
String field_deObfs = "locationSunPng";
String field_src = "field_110928_i";
- BWCore.BWCORE_LOG.info("Could find: " + CLASSESBEEINGTRANSFORMED[id]);
+ BWCore.BWCORE_LOG.info("Could find: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
for (int i = 0; i < methods.size(); i++) {
MethodNode toPatch = methods.get(i);
if (ASMUtils.isCorrectMethod(methods.get(i), name_deObfs, name_Obfs, name_src) && ASMUtils.isCorrectMethod(methods.get(i), dsc_universal)) {
@@ -157,7 +166,7 @@ public class BWCoreTransformer implements IClassTransformer {
String nameFieldToPatch;
for (int j = 0; j < toPatch.instructions.size(); j++) {
- if (toPatch.instructions.get(j) instanceof FieldInsnNode && ((FieldInsnNode) toPatch.instructions.get(j)).getOpcode() == GETSTATIC && !(nameFieldToPatch = ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j)).name, field_deObfs, field_src)).isEmpty()) {
+ if (toPatch.instructions.get(j) instanceof FieldInsnNode && toPatch.instructions.get(j).getOpcode() == GETSTATIC && !(nameFieldToPatch = ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j)).name, field_deObfs, field_src)).isEmpty()) {
boolean useSrc = nameFieldToPatch.equals(field_src);
if (useSrc)
BWCore.BWCORE_LOG.info("Found either Optifine or Fastcraft... this patch was annoying to make compatible to them...");
@@ -182,9 +191,9 @@ public class BWCoreTransformer implements IClassTransformer {
} else {
if (j < toPatch.instructions.size() - 2) {
- if (toPatch.instructions.get(j + 2) instanceof FieldInsnNode && ((FieldInsnNode) toPatch.instructions.get(j + 2)).getOpcode() == GETSTATIC && !ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j + 2)).name, field_deObfs, field_src).isEmpty())
+ if (toPatch.instructions.get(j + 2) instanceof FieldInsnNode && toPatch.instructions.get(j + 2).getOpcode() == GETSTATIC && !ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j + 2)).name, field_deObfs, field_src).isEmpty())
continue;
- if (toPatch.instructions.get(j + 1) instanceof FieldInsnNode && ((FieldInsnNode) toPatch.instructions.get(j + 1)).getOpcode() == GETSTATIC && !ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j + 1)).name, field_deObfs, field_src).isEmpty())
+ if (toPatch.instructions.get(j + 1) instanceof FieldInsnNode && toPatch.instructions.get(j + 1).getOpcode() == GETSTATIC && !ASMUtils.matchAny(((FieldInsnNode) toPatch.instructions.get(j + 1)).name, field_deObfs, field_src).isEmpty())
continue;
}
nu.add(toPatch.instructions.get(j));
@@ -196,8 +205,24 @@ public class BWCoreTransformer implements IClassTransformer {
}
break;
}
+ case 3: {
+ BWCore.BWCORE_LOG.info("Could find: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
+ String name_deObfs = "updateEntity";
+ String name_src = "func_145845_h";
+ String name_Obfs = "h";
+ String dsc_universal = "()V";
+
+ for (int i = 0; i < methods.size(); i++) {
+ if (ASMUtils.isCorrectMethod(methods.get(i), name_deObfs, name_Obfs, name_src) && ASMUtils.isCorrectMethod(methods.get(i), dsc_universal, dsc_universal)) {
+ BWCore.BWCORE_LOG.info("Found " + (name_deObfs) + "! Patching!");
+ methods.set(i, BWCoreTransformer.transformThaumcraftWandPedestal(methods.get(i)));
+ break;
+ }
+ }
+ break;
+ }
default: {
- BWCore.BWCORE_LOG.info("Could not find: " + CLASSESBEEINGTRANSFORMED[id]);
+ BWCore.BWCORE_LOG.info("Could not find: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
return basicClass;
}
}
@@ -207,7 +232,7 @@ public class BWCoreTransformer implements IClassTransformer {
classNode.accept(classWriter);
byte[] ret = classWriter.toByteArray();
if (Arrays.hashCode(basicClass) == Arrays.hashCode(ret))
- BWCore.BWCORE_LOG.warn("Could not patch: " + CLASSESBEEINGTRANSFORMED[id]);
+ BWCore.BWCORE_LOG.warn("Could not patch: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[id]);
return ret;
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
index 669417a345..92aeef9c3f 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/configs/ConfigHandler.java
@@ -69,8 +69,8 @@ public class ConfigHandler {
for (int i = 0; i < BWCoreTransformer.CLASSESBEEINGTRANSFORMED.length; i++) {
BWCoreTransformer.shouldTransform[i] = ConfigHandler.c.get("ASM fixes", BWCoreTransformer.DESCRIPTIONFORCONFIG[i] + " in class: " + BWCoreTransformer.CLASSESBEEINGTRANSFORMED[i], true).getBoolean(true);
}
- enabledPatches = new boolean[BWCoreTransformer.shouldTransform.length];
- enabledPatches = Arrays.copyOf(BWCoreTransformer.shouldTransform,BWCoreTransformer.shouldTransform.length);
+ ConfigHandler.enabledPatches = new boolean[BWCoreTransformer.shouldTransform.length];
+ ConfigHandler.enabledPatches = Arrays.copyOf(BWCoreTransformer.shouldTransform,BWCoreTransformer.shouldTransform.length);
ConfigHandler.ross128BID = ConfigHandler.c.get("CrossMod Interactions", "DimID - Ross128b", -64, "The Dim ID for Ross128b").getInt(-64);
ConfigHandler.ross128BAID = ConfigHandler.c.get("CrossMod Interactions", "DimID - Ross128ba", -63, "The Dim ID for Ross128ba (Ross128b's Moon)").getInt(-63);
@@ -83,7 +83,7 @@ public class ConfigHandler {
ConfigHandler.c.save();
}
- public static void setUpComments() {
+ private static void setUpComments() {
ConfigHandler.c.addCustomCategoryComment("ASM fixes", "Disable ASM fixes here.");
ConfigHandler.c.addCustomCategoryComment("Multiblocks", "Multliblock Options can be set here.");
ConfigHandler.c.addCustomCategoryComment("Singleblocks", "Singleblock Options can be set here.");
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/classic/BW_TileEntity_LESU_Redux.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/classic/BW_TileEntity_LESU_Redux.java
new file mode 100644
index 0000000000..49cb2f30eb
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/classic/BW_TileEntity_LESU_Redux.java
@@ -0,0 +1,493 @@
+///*
+// * Copyright (c) 2019 bartimaeusnek
+// *
+// * Permission is hereby granted, free of charge, to any person obtaining a copy
+// * of this software and associated documentation files (the "Software"), to deal
+// * in the Software without restriction, including without limitation the rights
+// * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// * copies of the Software, and to permit persons to whom the Software is
+// * furnished to do so, subject to the following conditions:
+// *
+// * The above copyright notice and this permission notice shall be included in all
+// * copies or substantial portions of the Software.
+// *
+// * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// * SOFTWARE.
+// */
+//
+//package com.github.bartimaeusnek.bartworks.common.tileentities.classic;
+//
+//import com.github.bartimaeusnek.bartworks.API.ITileAddsInformation;
+//import com.github.bartimaeusnek.bartworks.API.ITileDropsContent;
+//import com.github.bartimaeusnek.bartworks.API.ITileHasDifferentTextureSides;
+//import com.github.bartimaeusnek.bartworks.API.ITileWithGUI;
+//import com.github.bartimaeusnek.bartworks.MainMod;
+//import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler;
+//import com.github.bartimaeusnek.bartworks.util.ChatColorHelper;
+//import com.github.bartimaeusnek.bartworks.util.ConnectedBlocksChecker;
+//import cpw.mods.fml.common.FMLCommonHandler;
+//import cpw.mods.fml.relauncher.Side;
+//import gregtech.api.interfaces.tileentity.IEnergyConnected;
+//import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+//import gregtech.api.objects.XSTR;
+//import net.minecraft.block.Block;
+//import net.minecraft.client.renderer.texture.IIconRegister;
+//import net.minecraft.entity.player.EntityPlayer;
+//import net.minecraft.inventory.IInventory;
+//import net.minecraft.item.ItemStack;
+//import net.minecraft.tileentity.TileEntity;
+//import net.minecraft.util.StatCollector;
+//import net.minecraft.world.World;
+//import net.minecraft.world.biome.BiomeGenBase;
+//import net.minecraftforge.fluids.IFluidHandler;
+//
+//import java.nio.ByteBuffer;
+//import java.util.ArrayList;
+//
+//
+//public class BW_TileEntity_LESU_Redux extends TileEntity implements ITileHasDifferentTextureSides, ITileAddsInformation, ITileWithGUI, ITileDropsContent, IEnergyConnected {
+//
+// public ConnectedBlocksChecker connectedcells;
+// public ItemStack[] circuits = new ItemStack[5];
+// private long[] storage;
+// private long input;
+// private long output;
+// ByteBuffer eu;
+//
+// @Override
+// public String[] getInfoData() {
+// ArrayList<String> e = new ArrayList<>();
+// String[] dsc = StatCollector.translateToLocal("tooltip.tile.lesu.0.name").split(";");
+// for (int i = 0; i < dsc.length; i++) {
+// e.add(dsc[i]);
+// }
+// e.add(StatCollector.translateToLocal("tooltip.tile.lesu.1.name") + " " + ConfigHandler.energyPerCell + "EU");
+// dsc = StatCollector.translateToLocal("tooltip.tile.lesu.2.name").split(";");
+// for (int i = 0; i < dsc.length; i++) {
+// e.add(dsc[i]);
+// }
+// e.add(ChatColorHelper.RED + StatCollector.translateToLocal("tooltip.tile.lesu.3.name"));
+// e.add(StatCollector.translateToLocal("tooltip.bw.1.name") + ChatColorHelper.DARKGREEN + " BartWorks");
+// return e.toArray(new String[0]);
+// }
+//
+// @Override
+// public void registerBlockIcons(IIconRegister par1IconRegister) {
+// par1IconRegister.registerIcon(MainMod.MOD_ID + ":LESU_CASING_" + i);
+// }
+//
+// @Override
+// public int getGUIID() {
+// return 0;
+// }
+//
+// @Override
+// public long injectEnergyUnits(byte aSide, long aVoltage, long aAmperage) {
+// if (inputEnergyFrom(aSide)){
+//
+// }
+// return 0;
+// }
+//
+// @Override
+// public boolean inputEnergyFrom(byte b) {
+// return true;
+// }
+//
+// @Override
+// public boolean outputsEnergyTo(byte b) {
+// return false;
+// }
+//
+// @Override
+// public byte getColorization() {
+// return 0;
+// }
+//
+// @Override
+// public byte setColorization(byte b) {
+// return 0;
+// }
+//
+// @Override
+// public World getWorld() {
+// return null;
+// }
+//
+// @Override
+// public int getXCoord() {
+// return 0;
+// }
+//
+// @Override
+// public short getYCoord() {
+// return 0;
+// }
+//
+// @Override
+// public int getZCoord() {
+// return 0;
+// }
+//
+// @Override
+// public boolean isServerSide() {
+// return !isClientSide();
+// }
+//
+// @Override
+// public boolean isClientSide() {
+// if (getWorld() != null)
+// return getWorld().isRemote;
+// return FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT;
+// }
+//
+// @Override
+// public int getRandomNumber(int i) {
+// return new XSTR().nextInt(i);
+// }
+//
+// @Override
+// public TileEntity getTileEntity(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public TileEntity getTileEntityOffset(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public TileEntity getTileEntityAtSide(byte b) {
+// return null;
+// }
+//
+// @Override
+// public TileEntity getTileEntityAtSideAndDistance(byte b, int i) {
+// return null;
+// }
+//
+// @Override
+// public IInventory getIInventory(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IInventory getIInventoryOffset(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IInventory getIInventoryAtSide(byte b) {
+// return null;
+// }
+//
+// @Override
+// public IInventory getIInventoryAtSideAndDistance(byte b, int i) {
+// return null;
+// }
+//
+// @Override
+// public IFluidHandler getITankContainer(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IFluidHandler getITankContainerOffset(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IFluidHandler getITankContainerAtSide(byte b) {
+// return null;
+// }
+//
+// @Override
+// public IFluidHandler getITankContainerAtSideAndDistance(byte b, int i) {
+// return null;
+// }
+//
+// @Override
+// public IGregTechTileEntity getIGregTechTileEntity(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IGregTechTileEntity getIGregTechTileEntityOffset(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public IGregTechTileEntity getIGregTechTileEntityAtSide(byte b) {
+// return null;
+// }
+//
+// @Override
+// public IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(byte b, int i) {
+// return null;
+// }
+//
+// @Override
+// public Block getBlock(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public Block getBlockOffset(int i, int i1, int i2) {
+// return null;
+// }
+//
+// @Override
+// public Block getBlockAtSide(byte b) {
+// return null;
+// }
+//
+// @Override
+// public Block getBlockAtSideAndDistance(byte b, int i) {
+// return null;
+// }
+//
+// @Override
+// public byte getMetaID(int i, int i1, int i2) {
+// return 0;
+// }
+//
+// @Override
+// public byte getMetaIDOffset(int i, int i1, int i2) {
+// return 0;
+// }
+//
+// @Override
+// public byte getMetaIDAtSide(byte b) {
+// return 0;
+// }
+//
+// @Override
+// public byte getMetaIDAtSideAndDistance(byte b, int i) {
+// return 0;
+// }
+//
+// @Override
+// public byte getLightLevel(int i, int i1, int i2) {
+// return 0;
+// }
+//
+// @Override
+// public byte getLightLevelOffset(int i, int i1, int i2) {
+// return 0;
+// }
+//
+// @Override
+// public byte getLightLevelAtSide(byte b) {
+// return 0;
+// }
+//
+// @Override
+// public byte getLightLevelAtSideAndDistance(byte b, int i) {
+// return 0;
+// }
+//
+// @Override
+// public boolean getOpacity(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getOpacityOffset(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getOpacityAtSide(byte b) {
+// return false;
+// }
+//
+// @Override
+// public boolean getOpacityAtSideAndDistance(byte b, int i) {
+// return false;
+// }
+//
+// @Override
+// public boolean getSky(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getSkyOffset(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getSkyAtSide(byte b) {
+// return false;
+// }
+//
+// @Override
+// public boolean getSkyAtSideAndDistance(byte b, int i) {
+// return false;
+// }
+//
+// @Override
+// public boolean getAir(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getAirOffset(int i, int i1, int i2) {
+// return false;
+// }
+//
+// @Override
+// public boolean getAirAtSide(byte b) {
+// return false;
+// }
+//
+// @Override
+// public boolean getAirAtSideAndDistance(byte b, int i) {
+// return false;
+// }
+//
+// @Override
+// public BiomeGenBase getBiome() {
+// return null;
+// }
+//
+// @Override
+// public BiomeGenBase getBiome(int i, int i1) {
+// return null;
+// }
+//
+// @Override
+// public int getOffsetX(byte b, int i) {
+// return 0;
+// }
+//
+// @Override
+// public short getOffsetY(byte b, int i) {
+// return 0;
+// }
+//
+// @Override
+// public int getOffsetZ(byte b, int i) {
+// return 0;
+// }
+//
+// @Override
+// public boolean isDead() {
+// return false;
+// }
+//
+// @Override
+// public void sendBlockEvent(byte b, byte b1) {
+//
+// }
+//
+// @Override
+// public long getTimer() {
+// return 0;
+// }
+//
+// @Override
+// public void setLightValue(byte b) {
+//
+// }
+//
+// @Override
+// public boolean isInvalidTileEntity() {
+// return false;
+// }
+//
+// @Override
+// public boolean openGUI(EntityPlayer entityPlayer, int i) {
+// return false;
+// }
+//
+// @Override
+// public boolean openGUI(EntityPlayer entityPlayer) {
+// return false;
+// }
+//
+// @Override
+// public int[] getAccessibleSlotsFromSide(int p_94128_1_) {
+// return new int[0];
+// }
+//
+// @Override
+// public boolean canInsertItem(int p_102007_1_, ItemStack p_102007_2_, int p_102007_3_) {
+// return false;
+// }
+//
+// @Override
+// public boolean canExtractItem(int p_102008_1_, ItemStack p_102008_2_, int p_102008_3_) {
+// return false;
+// }
+//
+// @Override
+// public int getSizeInventory() {
+// return 0;
+// }
+//
+// @Override
+// public ItemStack getStackInSlot(int p_70301_1_) {
+// return null;
+// }
+//
+// @Override
+// public ItemStack decrStackSize(int p_70298_1_, int p_70298_2_) {
+// return null;
+// }
+//
+// @Override
+// public ItemStack getStackInSlotOnClosing(int p_70304_1_) {
+// return null;
+// }
+//
+// @Override
+// public void setInventorySlotContents(int p_70299_1_, ItemStack p_70299_2_) {
+//
+// }
+//
+// @Override
+// public String getInventoryName() {
+// return null;
+// }
+//
+// @Override
+// public boolean hasCustomInventoryName() {
+// return false;
+// }
+//
+// @Override
+// public int getInventoryStackLimit() {
+// return 0;
+// }
+//
+// @Override
+// public boolean isUseableByPlayer(EntityPlayer p_70300_1_) {
+// return false;
+// }
+//
+// @Override
+// public void openInventory() {
+//
+// }
+//
+// @Override
+// public void closeInventory() {
+//
+// }
+//
+// @Override
+// public boolean isItemValidForSlot(int p_94041_1_, ItemStack p_94041_2_) {
+// return false;
+// }
+//
+// @Override
+// public int[] getDropSlots() {
+// return new int[0];
+// }
+//}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java
index 5cd012821c..a1b10d27a8 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_Windmill.java
@@ -236,17 +236,17 @@ public class GT_TileEntity_Windmill extends GT_MetaTileEntity_MultiBlockBase {
itemStack.stackSize -= 1;
this.mMaxProgresstime = 60 * 20 * 100;
if (new XSTR().nextInt(2) == 0)
- this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L));
+ this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 12L));
else
- this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
+ this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 6L));
return true;
} else if (Block.getBlockFromItem(itemStack.getItem()).equals(Blocks.log2)) {
itemStack.stackSize -= 1;
this.mMaxProgresstime = 60 * 20 * 100;
if (new XSTR().nextInt(2) == 0)
- this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L));
+ this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 12L));
else
- this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L));
+ this.mOutputItems[0] = (GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 6L));
return true;
} else if (Block.getBlockFromItem(itemStack.getItem()).equals(Blocks.pumpkin)) {
itemStack.stackSize -= 1;
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java
index fb13cc7c85..77578b3c1c 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/oredict/OreDictHandler.java
@@ -55,14 +55,17 @@ public class OreDictHandler {
OreDictHandler.cacheNonBW.clear();
for (String s : used) {
if (!OreDictionary.getOres(s).isEmpty()) {
- ItemStack tmp = OreDictionary.getOres(s).get(0).copy();
- Pair<Integer,Short> p = new Pair<>(Item.getIdFromItem(tmp.getItem()), (short) tmp.getItemDamage());
+ ItemStack tmpstack = OreDictionary.getOres(s).get(0).copy();
+ Pair<Integer, Short> p = new Pair<>(Item.getIdFromItem(tmpstack.getItem()), (short) tmpstack.getItemDamage());
cache.put(s, p);
- GameRegistry.UniqueIdentifier UI = GameRegistry.findUniqueIdentifierFor(tmp.getItem());
- if (UI == null)
- UI = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(tmp.getItem()));
- if (!UI.modId.equals(MainMod.MOD_ID) && !UI.modId.equals(BartWorksCrossmod.MOD_ID) && !UI.modId.equals("BWCore")){
- OreDictHandler.cacheNonBW.add(p);
+ for (ItemStack tmp : OreDictionary.getOres(s)) {
+ Pair<Integer, Short> p2 = new Pair<>(Item.getIdFromItem(tmp.getItem()), (short) tmp.getItemDamage());
+ GameRegistry.UniqueIdentifier UI = GameRegistry.findUniqueIdentifierFor(tmp.getItem());
+ if (UI == null)
+ UI = GameRegistry.findUniqueIdentifierFor(Block.getBlockFromItem(tmp.getItem()));
+ if (!UI.modId.equals(MainMod.MOD_ID) && !UI.modId.equals(BartWorksCrossmod.MOD_ID) && !UI.modId.equals("BWCore")) {
+ OreDictHandler.cacheNonBW.add(p2);
+ }
}
}
}