diff --git a/build.gradle b/build.gradle index 4ac69ac..521594d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ -def mainVersion = "1.5" -def buildNumber = "15" +def mainVersion = "1.6" +def buildNumber = "20" // For those who want the bleeding edge buildscript { @@ -30,7 +30,7 @@ sourceCompatibility = 1.8 targetCompatibility = 1.8 minecraft { - version = "14.22.0.2463" + version = "14.22.1.2479" runDir = "run" replace '${version}', project.version diff --git a/changelog.md b/changelog.md index 6b27df4..eb7ad4d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,12 @@ -#####Version 1.5-20 (UNRELEASED) +#####Version 1.6-20 + - Added the Marx Generator, an alternative ore processing method + - Hearing protection absolutely required! + - You may need to do some math and measurements for ore processing to work. It will kill entites just fine without any science + - IC2 is no longer a hard dependency. The wires and converters will obviously be disabled without it + - Vastly improved snapping in the panel creator + - Added some Mirage (Albedo) compat + - IW is signed now! + - Analog panel components can interact with 2 channels now, rough and fine control - Fixed GUI background and item tooltips - Fixed some components resetting when the chunk is unloaded - Chunks with control panels properly unload now diff --git a/src/main/java/malte0811/industrialWires/IWPotions.java b/src/main/java/malte0811/industrialWires/IWPotions.java index 36dff05..afd30c7 100644 --- a/src/main/java/malte0811/industrialWires/IWPotions.java +++ b/src/main/java/malte0811/industrialWires/IWPotions.java @@ -40,6 +40,7 @@ public class IWPotions { setIconIndex(0, 0); this.setRegistryName(new ResourceLocation(IndustrialWires.MODID, "tinnitus")); ForgeRegistries.POTIONS.register(this); + this.setPotionName("potion."+ IndustrialWires.MODID+"." + getRegistryName().getResourcePath()); } @Override diff --git a/src/main/java/malte0811/industrialWires/IndustrialWires.java b/src/main/java/malte0811/industrialWires/IndustrialWires.java index d8c3874..2c81087 100644 --- a/src/main/java/malte0811/industrialWires/IndustrialWires.java +++ b/src/main/java/malte0811/industrialWires/IndustrialWires.java @@ -48,7 +48,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraftforge.event.RegistryEvent; -import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.Loader; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; @@ -67,7 +66,7 @@ import org.apache.logging.log4j.Logger; import java.util.ArrayList; import java.util.List; //TODO require IE 0.12-72 -@Mod(modid = IndustrialWires.MODID, version = IndustrialWires.VERSION, dependencies = "required-after:immersiveengineering@[0.10-58,);after:ic2", +@Mod(modid = IndustrialWires.MODID, version = IndustrialWires.VERSION, dependencies = "required-after:immersiveengineering@[0.12-72,);after:ic2", certificateFingerprint = "7e11c175d1e24007afec7498a1616bef0000027d") @Mod.EventBusSubscriber public class IndustrialWires { @@ -199,6 +198,7 @@ public class IndustrialWires { NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy); IWPotions.init(); Compat.init(); + MarxOreHandler.init(); } @EventHandler diff --git a/src/main/java/malte0811/industrialWires/blocks/hv/BlockHVMultiblocks.java b/src/main/java/malte0811/industrialWires/blocks/hv/BlockHVMultiblocks.java index 1510740..79cb455 100644 --- a/src/main/java/malte0811/industrialWires/blocks/hv/BlockHVMultiblocks.java +++ b/src/main/java/malte0811/industrialWires/blocks/hv/BlockHVMultiblocks.java @@ -30,6 +30,7 @@ import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.NonNullList; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; @@ -52,7 +53,13 @@ public class BlockHVMultiblocks extends BlockIWMultiblock implements IMetaEnum { // No MB's in the creative inventory! } - + @Override + public boolean canRenderInLayer(IBlockState state, BlockRenderLayer layer) { + if (state.getValue(IWProperties.MARX_TYPE)!= IWProperties.MarxType.CONNECTOR) + return super.canRenderInLayer(state, layer); + else + return layer==BlockRenderLayer.TRANSLUCENT||layer==BlockRenderLayer.SOLID; + } @Override protected IProperty[] getProperties() { diff --git a/src/main/java/malte0811/industrialWires/blocks/hv/TileEntityMarx.java b/src/main/java/malte0811/industrialWires/blocks/hv/TileEntityMarx.java index b38327c..8b77a53 100644 --- a/src/main/java/malte0811/industrialWires/blocks/hv/TileEntityMarx.java +++ b/src/main/java/malte0811/industrialWires/blocks/hv/TileEntityMarx.java @@ -67,8 +67,6 @@ import net.minecraft.world.World; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Optional; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import javax.annotation.Nonnull; import javax.annotation.Nullable; @@ -109,7 +107,6 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable, public IWProperties.MarxType type = IWProperties.MarxType.NO_MODEL; private int stageCount = 0; public FiringState state = FiringState.CHARGING; - @SideOnly(Side.CLIENT) public Discharge dischargeData; // Voltage=100*storedEU private DualEnergyStorage storage = new DualEnergyStorage(50_000, 32_000); @@ -345,7 +342,7 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable, private void handleEntities(double energyStored) { Vec3d v0 = getMiddle(); - AxisAlignedBB aabb = new AxisAlignedBB(v0, v0); + AxisAlignedBB aabb = new AxisAlignedBB(v0.x, v0.y, v0.z, v0.x, v0.y, v0.z); aabb = aabb.grow(0, stageCount/2-1,0); final double sqrtStages = Math.sqrt(stageCount); aabb = aabb.grow(5*sqrtStages); @@ -701,7 +698,7 @@ public class TileEntityMarx extends TileEntityIWMultiblock implements ITickable, @SubscribeEvent public static void gatherLights(GatherLightsEvent event) { for (TileEntityMarx te:FIRING_GENERATORS) { - Vec3d origin = te.getMiddle().subtract(0, .5*te.stageCount+1,0); + Vec3d origin = te.getMiddle().subtract(0, .5*te.stageCount-1,0); Light.Builder builder = Light.builder() .color(1, 1, 1) .radius(5); diff --git a/src/main/java/malte0811/industrialWires/client/ClientProxy.java b/src/main/java/malte0811/industrialWires/client/ClientProxy.java index f907d59..735c6f4 100644 --- a/src/main/java/malte0811/industrialWires/client/ClientProxy.java +++ b/src/main/java/malte0811/industrialWires/client/ClientProxy.java @@ -280,7 +280,7 @@ public class ClientProxy extends CommonProxy { @Override public void startTinnitus() { final Minecraft mc = Minecraft.getMinecraft(); - if (playingTinnitus==null) { + if (playingTinnitus==null||!mc.getSoundHandler().isSoundPlaying(playingTinnitus)) { playingTinnitus = getTinnitus(); mc.getSoundHandler().playSound(playingTinnitus); } @@ -299,7 +299,7 @@ public class ClientProxy extends CommonProxy { @Override public float getVolume() { - return 1F; + return .5F; } @Override @@ -396,4 +396,4 @@ public class ClientProxy extends CommonProxy { } return null; } -} \ No newline at end of file +} diff --git a/src/main/java/malte0811/industrialWires/hv/MarxOreHandler.java b/src/main/java/malte0811/industrialWires/hv/MarxOreHandler.java index f6afd69..6c7c1da 100644 --- a/src/main/java/malte0811/industrialWires/hv/MarxOreHandler.java +++ b/src/main/java/malte0811/industrialWires/hv/MarxOreHandler.java @@ -59,7 +59,15 @@ public class MarxOreHandler { putOre("ore" + ore, .75, 4, "dust" + ore, "nugget" + ore); } putOre("oreUranium", 1.25, 4, - IndustrialWires.hasIC2?"crushedUranium":"ingotUranium", "nuggetUranium"); + IndustrialWires.hasIC2?"crushedUranium":"dustUranium", "nuggetUranium"); + } + + public static void init() { + oreData.removeIf( + (info)-> + info.exampleInput.isEmpty()||info.exampleInput.stream().allMatch(ItemStack::isEmpty) + ||info.output.get().isEmpty() + ); } public static void putOre(String oreName, double avgEnergy, double maxYield, String oreOut) { diff --git a/src/main/java/malte0811/industrialWires/hv/MultiblockMarx.java b/src/main/java/malte0811/industrialWires/hv/MultiblockMarx.java index 0681d8c..3963176 100644 --- a/src/main/java/malte0811/industrialWires/hv/MultiblockMarx.java +++ b/src/main/java/malte0811/industrialWires/hv/MultiblockMarx.java @@ -305,7 +305,6 @@ public class MultiblockMarx implements IMultiblock { continue mirrorLoop; } } - IndustrialWires.logger.info(facing); //REPLACE STRUCTURE if (!world.isRemote) { IBlockState noModel = IndustrialWires.hvMultiblocks.getDefaultState().withProperty(FACING_HORIZONTAL, facing).withProperty(BlockHVMultiblocks.type, MARX) diff --git a/src/main/resources/assets/industrialwires/lang/en_US.lang b/src/main/resources/assets/industrialwires/lang/en_US.lang index 0bc4407..3e7e71f 100644 --- a/src/main/resources/assets/industrialwires/lang/en_US.lang +++ b/src/main/resources/assets/industrialwires/lang/en_US.lang @@ -43,6 +43,8 @@ item.industrialwires.key.key_named.name=Key for item.industrialwires.key.blank_key.name=Blank Key item.industrialwires.key.key_ring.name=Key Ring +potion.industrialwires.tinnitus=Tinnitus + industrialwires.subtitle.tinnitus=You have a tinnitus industrialwires.subtitle.jacobs_ladder=Jacob's ladder hums industrialwires.subtitle.marx_bang=Marx generator discharges