Build 1.7-26

Some fixes
This commit is contained in:
malte0811 2018-06-27 22:49:20 +02:00
parent 16c01a8049
commit 71716a722e
6 changed files with 108 additions and 95 deletions

View file

@ -1,5 +1,5 @@
def mainVersion = "1.7"
def buildNumber = "26-pre"
def buildNumber = "26"
// For those who want the bleeding edge
buildscript {

View file

@ -1,3 +1,10 @@
#####Version 1.7-26
- Added Mechanical Multiblocks (energy storage and EU<->FE conversion)
- There will be an explanation video for these once I have time to make one
- Fixed the small mechanical converter blowing up tin wires
- Fixed wires not joining their outputs correctly
- Fixed wire connectors not breaking when the block they're on is broken
#####Version 1.6-25
- Updated to IE build 77
- IC2 wires cause damage

View file

@ -15,68 +15,67 @@
package malte0811.industrialWires;
import blusunrize.immersiveengineering.ImmersiveEngineering;
import blusunrize.immersiveengineering.api.MultiblockHandler;
import blusunrize.immersiveengineering.api.energy.wires.WireApi;
import com.google.common.collect.ImmutableMap;
import malte0811.industrialWires.blocks.BlockIWBase;
import malte0811.industrialWires.blocks.controlpanel.*;
import malte0811.industrialWires.blocks.converter.*;
import malte0811.industrialWires.blocks.hv.*;
import malte0811.industrialWires.blocks.wire.*;
import malte0811.industrialWires.compat.Compat;
import malte0811.industrialWires.controlpanel.PanelComponent;
import malte0811.industrialWires.controlpanel.PanelUtils;
import malte0811.industrialWires.crafting.Recipes;
import malte0811.industrialWires.entities.EntityBrokenPart;
import malte0811.industrialWires.hv.MarxOreHandler;
import malte0811.industrialWires.hv.MultiblockMarx;
import malte0811.industrialWires.items.ItemIC2Coil;
import malte0811.industrialWires.items.ItemKey;
import malte0811.industrialWires.items.ItemPanelComponent;
import malte0811.industrialWires.mech_mb.EUCapability;
import malte0811.industrialWires.mech_mb.MechMBPart;
import malte0811.industrialWires.mech_mb.MultiblockMechMB;
import malte0811.industrialWires.network.MessageGUIInteract;
import malte0811.industrialWires.network.MessageItemSync;
import malte0811.industrialWires.network.MessagePanelInteract;
import malte0811.industrialWires.network.MessageTileSyncIW;
import malte0811.industrialWires.util.CommandIW;
import malte0811.industrialWires.util.MultiblockTemplateManual;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.registries.IForgeRegistry;
import org.apache.logging.log4j.Logger;
import blusunrize.immersiveengineering.api.MultiblockHandler;
import blusunrize.immersiveengineering.api.energy.wires.WireApi;
import com.google.common.collect.ImmutableMap;
import malte0811.industrialWires.blocks.BlockIWBase;
import malte0811.industrialWires.blocks.controlpanel.*;
import malte0811.industrialWires.blocks.converter.*;
import malte0811.industrialWires.blocks.hv.*;
import malte0811.industrialWires.blocks.wire.*;
import malte0811.industrialWires.compat.Compat;
import malte0811.industrialWires.controlpanel.PanelComponent;
import malte0811.industrialWires.controlpanel.PanelUtils;
import malte0811.industrialWires.crafting.Recipes;
import malte0811.industrialWires.entities.EntityBrokenPart;
import malte0811.industrialWires.hv.MarxOreHandler;
import malte0811.industrialWires.hv.MultiblockMarx;
import malte0811.industrialWires.items.ItemIC2Coil;
import malte0811.industrialWires.items.ItemKey;
import malte0811.industrialWires.items.ItemPanelComponent;
import malte0811.industrialWires.mech_mb.EUCapability;
import malte0811.industrialWires.mech_mb.MechMBPart;
import malte0811.industrialWires.mech_mb.MultiblockMechMB;
import malte0811.industrialWires.network.MessageGUIInteract;
import malte0811.industrialWires.network.MessageItemSync;
import malte0811.industrialWires.network.MessagePanelInteract;
import malte0811.industrialWires.network.MessageTileSyncIW;
import malte0811.industrialWires.util.CommandIW;
import malte0811.industrialWires.util.MultiblockTemplateManual;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.network.datasync.DataSerializers;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import org.apache.logging.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
import static malte0811.industrialWires.blocks.wire.BlockTypes_IC2_Connector.*;
import static malte0811.industrialWires.entities.EntityBrokenPart.MARKER_TEXTURE;
import static malte0811.industrialWires.entities.EntityBrokenPart.RES_LOC_SERIALIZER;
import static malte0811.industrialWires.mech_mb.MechMBPart.EXAMPLE_MECHMB_LOC;
import static malte0811.industrialWires.wires.IC2Wiretype.*;
import static malte0811.industrialWires.blocks.wire.BlockTypes_IC2_Connector.*;
import static malte0811.industrialWires.entities.EntityBrokenPart.MARKER_TEXTURE;
import static malte0811.industrialWires.entities.EntityBrokenPart.RES_LOC_SERIALIZER;
import static malte0811.industrialWires.mech_mb.MechMBPart.EXAMPLE_MECHMB_LOC;
import static malte0811.industrialWires.wires.IC2Wiretype.*;
@Mod(modid = IndustrialWires.MODID, version = IndustrialWires.VERSION, dependencies = "required-after:immersiveengineering@[0.12-77,);after:ic2",
certificateFingerprint = "7e11c175d1e24007afec7498a1616bef0000027d")
@ -85,14 +84,19 @@ public class IndustrialWires {
public static final String MODID = "industrialwires";
public static final String VERSION = "${version}";
public static final String MODNAME = "Industrial Wires";
public static final ResourceLocation TINNITUS_LOC = new ResourceLocation(IndustrialWires.MODID, "tinnitus");
public static final ResourceLocation LADDER_START = new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_start");//~470 ms ~=9 ticks
public static final ResourceLocation LADDER_MIDDLE = new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_middle");
public static final ResourceLocation LADDER_END = new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_end");//~210 ms ~= 4 ticks
public static final ResourceLocation MARX_BANG = new ResourceLocation(IndustrialWires.MODID, "marx_bang");
public static final ResourceLocation MARX_POP = new ResourceLocation(IndustrialWires.MODID, "marx_pop");
public static final ResourceLocation TURN_FAST = new ResourceLocation(IndustrialWires.MODID, "mech_mb_fast");
public static final ResourceLocation TURN_SLOW = new ResourceLocation(IndustrialWires.MODID, "mech_mb_slow");
public static final SoundEvent TINNITUS = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "tinnitus"));
public static final SoundEvent LADDER_START = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_start"));//~470 ms ~=9 ticks
public static final SoundEvent LADDER_MIDDLE = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_middle"));
public static final SoundEvent LADDER_END = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "jacobs_ladder_end"));//~210 ms ~= 4 ticks
public static final SoundEvent MARX_BANG = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "marx_bang"));
public static final SoundEvent MARX_POP = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "marx_pop"));
public static final SoundEvent TURN_FAST = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "mech_mb_fast"));
public static final SoundEvent TURN_SLOW = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "mech_mb_slow"));
public static final SoundEvent MMB_BREAKING = createSoundEvent(new ResourceLocation(IndustrialWires.MODID, "mech_mb_breaking"));
private static final SoundEvent createSoundEvent(ResourceLocation loc) {
return new SoundEvent(loc).setRegistryName(loc);
}
public static final List<BlockIWBase> blocks = new ArrayList<>();
public static final List<Item> items = new ArrayList<>();
@ -233,18 +237,15 @@ public class IndustrialWires {
@SubscribeEvent
public static void registerSounds(RegistryEvent.Register<SoundEvent> event) {
registerSound(event.getRegistry(), TINNITUS_LOC);
registerSound(event.getRegistry(), LADDER_START);
registerSound(event.getRegistry(), LADDER_MIDDLE);
registerSound(event.getRegistry(), LADDER_END);
registerSound(event.getRegistry(), MARX_BANG);
registerSound(event.getRegistry(), MARX_POP);
registerSound(event.getRegistry(), TURN_FAST);
registerSound(event.getRegistry(), TURN_SLOW);
}
private static void registerSound(IForgeRegistry<SoundEvent> reg, ResourceLocation loc) {
reg.register(new SoundEvent(loc).setRegistryName(loc));
event.getRegistry().register(TINNITUS);
event.getRegistry().register(LADDER_START);
event.getRegistry().register(LADDER_MIDDLE);
event.getRegistry().register(LADDER_END);
event.getRegistry().register(MARX_BANG);
event.getRegistry().register(MARX_POP);
event.getRegistry().register(TURN_FAST);
event.getRegistry().register(TURN_SLOW);
event.getRegistry().register(MMB_BREAKING);
}
@SubscribeEvent

View file

@ -59,6 +59,7 @@ import java.util.*;
import static blusunrize.immersiveengineering.common.IEContent.blockMetalDecoration0;
import static blusunrize.immersiveengineering.common.blocks.metal.BlockTypes_MetalDecoration0.HEAVY_ENGINEERING;
import static malte0811.industrialWires.IndustrialWires.MMB_BREAKING;
import static malte0811.industrialWires.mech_mb.EUCapability.ENERGY_IC2;
import static malte0811.industrialWires.util.MiscUtils.getOffset;
import static malte0811.industrialWires.util.MiscUtils.offset;
@ -485,7 +486,6 @@ public class TileEntityMechMB extends TileEntityIWMultiblock implements ITickabl
}
}
private static ResourceLocation mmbBang = new ResourceLocation(IndustrialWires.MODID, "mech_mb_breaking");
private void disassemble(Set<MechMBPart> failed) {
if (!world.isRemote && formed) {
formed = false;
@ -495,7 +495,8 @@ public class TileEntityMechMB extends TileEntityIWMultiblock implements ITickabl
blockMetalDecoration0.getDefaultState().withProperty(blockMetalDecoration0.property, HEAVY_ENGINEERING));
for (MechMBPart mech : mechanical) {
if (failed.contains(mech)) {
world.playSound(null, mech.world.getOrigin(), new SoundEvent(mmbBang), SoundCategory.BLOCKS, 1, 1);
world.playSound(null, mech.world.getOrigin(), MMB_BREAKING, SoundCategory.BLOCKS, 1, 1);
mech.breakOnFailure(energyState);
} else {
mech.disassemble();
@ -603,6 +604,8 @@ public class TileEntityMechMB extends TileEntityIWMultiblock implements ITickabl
else if (world.isRemote)
CLIENT_MASTER_BY_POS.remove(pos);
firstTick = true;
if (energyState!=null)
energyState.invalid = true;
super.invalidate();
}
@ -613,6 +616,8 @@ public class TileEntityMechMB extends TileEntityIWMultiblock implements ITickabl
Compat.unloadIC2Tile.accept(this);
else if (world.isRemote)
CLIENT_MASTER_BY_POS.remove(pos);
if (energyState!=null)
energyState.invalid = true;
firstTick = true;
}

View file

@ -199,7 +199,7 @@ public class ClientProxy extends CommonProxy {
);
}
}
addUnblockableSounds(TINNITUS_LOC, TURN_FAST, TURN_SLOW);
addUnblockableSounds(TINNITUS, TURN_FAST, TURN_SLOW);
ClientUtils.mc().getItemColors().registerItemColorHandler((stack, pass) -> {
if (pass == 1) {
@ -318,12 +318,12 @@ public class ClientProxy extends CommonProxy {
private static ISound playingTinnitus = null;
private void addUnblockableSounds(ResourceLocation... sounds) {
private void addUnblockableSounds(SoundEvent... sounds) {
int oldLength = Config.IEConfig.Tools.earDefenders_SoundBlacklist.length;
Config.IEConfig.Tools.earDefenders_SoundBlacklist =
Arrays.copyOf(Config.IEConfig.Tools.earDefenders_SoundBlacklist, oldLength + sounds.length);
for (int i = 0;i<sounds.length;i++) {
Config.IEConfig.Tools.earDefenders_SoundBlacklist[oldLength+i] = sounds[i].toString();
Config.IEConfig.Tools.earDefenders_SoundBlacklist[oldLength+i] = sounds[i].getSoundName().toString();
}
}
@Override
@ -337,7 +337,7 @@ public class ClientProxy extends CommonProxy {
private ISound getTinnitus() {
final Minecraft mc = Minecraft.getMinecraft();
return new MovingSound(new SoundEvent(TINNITUS_LOC), SoundCategory.PLAYERS) {
return new MovingSound(TINNITUS, SoundCategory.PLAYERS) {
@Override
public void update() {
if (mc.player.getActivePotionEffect(IWPotions.tinnitus)==null) {
@ -383,7 +383,7 @@ public class ClientProxy extends CommonProxy {
@Override
public void playJacobsLadderSound(TileEntityJacobsLadder te, int phase, Vec3d soundPos) {
stopAllSoundsExcept(te.getPos(), ImmutableSet.of());
ResourceLocation event;
SoundEvent event;
switch (phase) {
case 0:
event = LADDER_START;
@ -397,7 +397,7 @@ public class ClientProxy extends CommonProxy {
default:
return;
}
PositionedSoundRecord sound = new PositionedSoundRecord(event, SoundCategory.BLOCKS, te.size.soundVolume, 1,
PositionedSoundRecord sound = new PositionedSoundRecord(event.getSoundName(), SoundCategory.BLOCKS, te.size.soundVolume, 1,
false, 0, ISound.AttenuationType.LINEAR, (float) soundPos.x, (float) soundPos.y, (float) soundPos.z);
ClientUtils.mc().getSoundHandler().playSound(sound);
addSound(te.getPos(), sound);
@ -418,9 +418,9 @@ public class ClientProxy extends CommonProxy {
}
boolean hasSlow = false, hasFast = false;
for (ISound s:soundsAtPos) {
if (s.getSoundLocation().equals(TURN_FAST)) {
if (s.getSoundLocation().equals(TURN_FAST.getSoundName())) {
hasFast = true;
} else if (s.getSoundLocation().equals(TURN_SLOW)) {
} else if (s.getSoundLocation().equals(TURN_SLOW.getSoundName())) {
hasSlow = true;
}
}
@ -440,12 +440,12 @@ public class ClientProxy extends CommonProxy {
@Override
public void playMarxBang(TileEntityMarx te, Vec3d pos, float energy) {
ResourceLocation soundLoc = MARX_BANG;
SoundEvent soundLoc = MARX_BANG;
if (energy<0) {
energy = -energy;
soundLoc = MARX_POP;
}
PositionedSoundRecord sound = new PositionedSoundRecord(soundLoc, SoundCategory.BLOCKS, 5*energy, 1,
PositionedSoundRecord sound = new PositionedSoundRecord(soundLoc.getSoundName(), SoundCategory.BLOCKS, 5*energy, 1,
false, 0, ISound.AttenuationType.LINEAR, (float) pos.x, (float) pos.y, (float) pos.z);
ClientUtils.mc().getSoundHandler().playSound(sound);
addSound(te.getPos(), sound);

View file

@ -24,8 +24,8 @@ import net.minecraft.client.audio.ITickableSound;
import net.minecraft.client.audio.PositionedSound;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.SoundEvent;
import java.util.function.Supplier;
@ -33,7 +33,7 @@ public class IWTickableSound extends PositionedSound implements ITickableSound {
private Supplier<Float> getVolume;
private Supplier<Float> getPitch;
protected IWTickableSound(ResourceLocation sound, SoundCategory category,
protected IWTickableSound(SoundEvent sound, SoundCategory category,
Supplier<Float> getVolume, Supplier<Float> getPitch,
float xPosF, float yPosF, float zPosF) {
super(sound, category);