Build 1.7-26
Some fixes
This commit is contained in:
parent
16c01a8049
commit
71716a722e
|
@ -1,5 +1,5 @@
|
|||
def mainVersion = "1.7"
|
||||
def buildNumber = "26-pre"
|
||||
def buildNumber = "26"
|
||||
|
||||
// For those who want the bleeding edge
|
||||
buildscript {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue