diff --git a/src/main/java/atomicscience/AtomicScience.java b/src/main/java/atomicscience/AtomicScience.java index 6a9ae9c..df53c3b 100644 --- a/src/main/java/atomicscience/AtomicScience.java +++ b/src/main/java/atomicscience/AtomicScience.java @@ -60,13 +60,12 @@ import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; import java.io.File; import java.util.Arrays; @@ -81,25 +80,26 @@ import net.minecraft.item.ItemBucket; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -import net.minecraftforge.client.event.TextureStitchEvent.Post; import net.minecraftforge.common.ForgeChunkManager; import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.ForgeChunkManager.Type; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.common.util.EnumHelper; +import net.minecraftforge.event.world.WorldEvent.Save; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidContainerRegistry.FluidContainerData; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; -import net.minecraftforge.oredict.ShapedOreRecipe; -import net.minecraftforge.oredict.ShapelessOreRecipe; -import universalelectricity.core.item.ElectricItemHelper; import universalelectricity.core.item.ItemElectric; import universalelectricity.core.vector.Vector3; import universalelectricity.prefab.TranslationHelper; +import universalelectricity.prefab.flag.CommandFlag; +import universalelectricity.prefab.flag.FlagRegistry; +import universalelectricity.prefab.flag.ModFlag; +import universalelectricity.prefab.flag.NBTFileLoader; import universalelectricity.prefab.ore.OreGenBase; import universalelectricity.prefab.ore.OreGenReplaceStone; import universalelectricity.prefab.ore.OreGenerator; @@ -174,8 +174,7 @@ public class AtomicScience { public static OreGenBase uraniumOreGeneration; public static int URANIUM_HEXAFLOURIDE_RATIO = 200; public static int STEAM_RATIO = 40; - // public static final String QIZI_FAN_WU_SU_BAO_ZHA = - // FlagRegistry.registerFlag("ban_antimatter_power"); + public static final String QIZI_FAN_WU_SU_BAO_ZHA = FlagRegistry.registerFlag("ban_antimatter_power"); public static final Logger LOGGER = Logger.getLogger("AtomicScience"); public static SimpleNetworkWrapper channel; @@ -531,27 +530,18 @@ public class AtomicScience { } } - // TODO: WTF - // @EventHandler public void serverStarting(FMLServerStartingEvent event) { - // FlagRegistry.registerModFlag( - // "ModFlags", new ModFlag(NBTFileLoader.loadData("ModFlags"))); - // ICommandManager commandManager = FMLCommonHandler.instance() - // .getMinecraftServerInstance() - // .getCommandManager(); - // ServerCommandManager serverCommandManager = - // (ServerCommandManager)commandManager; - // serverCommandManager.registerCommand( - // new CommandFlag(FlagRegistry.getModFlag("ModFlags"))); - // } + @EventHandler + public void serverStarting(FMLServerStartingEvent event) { + FlagRegistry.registerModFlag("ModFlags", new ModFlag(NBTFileLoader.loadData("ModFlags"))); + event.registerServerCommand(new CommandFlag(FlagRegistry.getModFlag("ModFlags"))); + } - // TODO: WTF - // @ForgeSubscribe - // public void worldSave(Save evt) { - // if (!evt.world.isRemote) { - // NBTFileLoader.saveData("ModFlags", - // FlagRegistry.getModFlag("ModFlags").getNBT()); - // } - // } + @EventHandler + public void worldSave(Save evt) { + if (!evt.world.isRemote) { + NBTFileLoader.saveData("ModFlags", FlagRegistry.getModFlag("ModFlags").getNBT()); + } + } public static int getLiquidAmount(FluidStack liquid) { return liquid != null ? liquid.amount : 0; diff --git a/src/main/java/atomicscience/BToxicWaste.java b/src/main/java/atomicscience/BToxicWaste.java index 05447ea..31c580b 100644 --- a/src/main/java/atomicscience/BToxicWaste.java +++ b/src/main/java/atomicscience/BToxicWaste.java @@ -1,6 +1,7 @@ package atomicscience; import atomicscience.api.poison.PoisonRadiation; +import cpw.mods.fml.common.Loader; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; @@ -65,12 +66,13 @@ public class BToxicWaste extends BlockFluidClassic { this.blockIcon = iconRegister.registerIcon("atomicscience:toxicWaste"); AtomicScience.FLUID_TOXIC_WASTE.setIcons(this.blockIcon); - // TODO: WTF AtomicScience.FLUID_URANIUM_HEXAFLOURIDE.setIcons(iconRegister.registerIcon("atomicscience:uraniumHexafluoride")); - // TODO: might override railcraft icon? - AtomicScience.FLUID_STEAM.setIcons(iconRegister.registerIcon("atomicscience:steam")); - AtomicScience.FLUID_DEUTERIUM.setIcons(iconRegister.registerIcon("atomicscience:deuterium")); - AtomicScience.FLUID_TRITIUM.setIcons(iconRegister.registerIcon("atomicscience:tritium")); - + if (!Loader.isModLoaded("Railcraft")) { + AtomicScience.FLUID_STEAM.setIcons(iconRegister.registerIcon("atomicscience:steam")); + } + if (!Loader.isModLoaded("Mekanism")) { + AtomicScience.FLUID_DEUTERIUM.setIcons(iconRegister.registerIcon("atomicscience:deuterium")); + AtomicScience.FLUID_TRITIUM.setIcons(iconRegister.registerIcon("atomicscience:tritium")); + } } } diff --git a/src/main/java/atomicscience/fanwusu/BAccelerator.java b/src/main/java/atomicscience/fanwusu/BAccelerator.java index ca6011a..1d930de 100644 --- a/src/main/java/atomicscience/fanwusu/BAccelerator.java +++ b/src/main/java/atomicscience/fanwusu/BAccelerator.java @@ -40,7 +40,6 @@ public class BAccelerator extends BBaseRotatable implements IElectromagnet { @Override public boolean isRunning(World world, int x, int y, int z) { - // TODO: WTF return true; } } diff --git a/src/main/java/atomicscience/fanwusu/ItAntimatterCell.java b/src/main/java/atomicscience/fanwusu/ItAntimatterCell.java index 7ea0982..b858f68 100644 --- a/src/main/java/atomicscience/fanwusu/ItAntimatterCell.java +++ b/src/main/java/atomicscience/fanwusu/ItAntimatterCell.java @@ -23,6 +23,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.item.ItemExpireEvent; import universalelectricity.core.vector.Vector3; +import universalelectricity.prefab.flag.FlagRegistry; public class ItAntimatterCell extends ItCell { @@ -80,13 +81,7 @@ public class ItAntimatterCell extends ItCell { event.entityItem.posX, event.entityItem.posY, event.entityItem.posZ, SoundManager.ANTIMATTER, 3.0F, 1.0F - event.entityItem.worldObj.rand.nextFloat() * 0.3F); - if (!event.entityItem.worldObj.isRemote - // && - // ! FlagRegistry.getModFlag("ModFlags") - // .containsValue(event.entityItem.worldObj, - // ZhuYao.QIZI_FAN_WU_SU_BAO_ZHA, "true", - // new Vector3(event.entityItem)) - ) { + if (!event.entityItem.worldObj.isRemote && !FlagRegistry.getModFlag("ModFlags").containsValue(event.entityItem.worldObj, AtomicScience.QIZI_FAN_WU_SU_BAO_ZHA, "true", new Vector3(event.entityItem))) { IExplosive explosive = new IExplosive() { public int getID() { return -1; diff --git a/src/main/java/atomicscience/jiqi/BBaseRotatable.java b/src/main/java/atomicscience/jiqi/BBaseRotatable.java index 7590a13..bd6904d 100644 --- a/src/main/java/atomicscience/jiqi/BBaseRotatable.java +++ b/src/main/java/atomicscience/jiqi/BBaseRotatable.java @@ -5,43 +5,14 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; import universalelectricity.core.UniversalElectricity; import universalelectricity.prefab.block.BlockRotatable; public abstract class BBaseRotatable extends BlockRotatable { protected String textureName; - // TODO: tilera failed porting this in BlockRotatable - @Override - public void onBlockPlacedBy(World world, int x, int y, int z, - EntityLivingBase entityLiving, ItemStack itemStack) { - int angle = MathHelper.floor_double( - (double)(entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & - 3; - byte change = 3; - switch (angle) { - case 0: - change = 2; - break; - case 1: - change = 5; - break; - case 2: - change = 3; - break; - case 3: - change = 4; - } - - this.setDirection(world, x, y, z, ForgeDirection.getOrientation(change)); - } - public BBaseRotatable(String name, Material material) { super(material); this.textureName = "atomicscience:machine";