diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java index 77652a580e..3ef6f76e15 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java @@ -126,7 +126,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i < 10; i++){ if(((TileEntityInventoryScanner)par1World.getTileEntity(par2 - 1, par3, par4)).getStackInSlotCopy(i) != null){ if(((EntityItem) par5Entity).getEntityItem() != null){ - checkInventory(((EntityPlayer) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 - 1, par3, par4)), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 - 1, par3, par4)).getStackInSlotCopy(i)); + checkEntity(((EntityItem) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 - 1, par3, par4)).getStackInSlotCopy(i)); } } } @@ -134,7 +134,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i < 10; i++){ if(((TileEntityInventoryScanner)par1World.getTileEntity(par2 + 1, par3, par4)).getStackInSlotCopy(i) != null){ if(((EntityItem) par5Entity).getEntityItem() != null){ - checkInventory(((EntityPlayer) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 + 1, par3, par4)), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 + 1, par3, par4)).getStackInSlotCopy(i)); + checkEntity(((EntityItem) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2 + 1, par3, par4)).getStackInSlotCopy(i)); } } } @@ -142,7 +142,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i < 10; i++){ if(((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 - 1)).getStackInSlotCopy(i) != null){ if(((EntityItem) par5Entity).getEntityItem() != null){ - checkInventory(((EntityPlayer) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 - 1)), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 - 1)).getStackInSlotCopy(i)); + checkEntity(((EntityItem) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 - 1)).getStackInSlotCopy(i)); } } } @@ -150,7 +150,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i < 10; i++){ if(((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 + 1)).getStackInSlotCopy(i) != null){ if(((EntityItem) par5Entity).getEntityItem() != null){ - checkInventory(((EntityPlayer) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 + 1)), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 + 1)).getStackInSlotCopy(i)); + checkEntity(((EntityItem) par5Entity), ((TileEntityInventoryScanner)par1World.getTileEntity(par2, par3, par4 + 1)).getStackInSlotCopy(i)); } } } diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java index 76778b3381..e199fbd229 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java @@ -57,7 +57,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 1; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2 + i, par3, par4); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2 + i, par3, par4) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2 + i, par3, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2 + i, par3, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2 + i, par3, par4) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2 + i, par3, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2 + i, par3, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2 + i, par3, par4, 2, 3); par1World.notifyBlocksOfNeighborChange(par2 + i, par3, par4, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2 + i, par3, par4, mod_SecurityCraft.LaserBlock, 50); @@ -74,7 +74,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2 - i, par3, par4); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2 - i, par3, par4) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2 - i, par3, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2 - i, par3, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2 - i, par3, par4) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2 - i, par3, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2 - i, par3, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2 - i, par3, par4, 2, 3); par1World.notifyBlocksOfNeighborChange(par2 - i, par3, par4, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2 - i, par3, par4, mod_SecurityCraft.LaserBlock, 50); @@ -91,7 +91,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2, par3, par4 + i); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2, par3, par4 + i) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3, par4 + i)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4 + i, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2, par3, par4 + i) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3, par4 + i)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4 + i, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2, par3, par4 + i, 2, 3); par1World.notifyBlocksOfNeighborChange(par2, par3, par4 + i, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2, par3, par4 + i, mod_SecurityCraft.LaserBlock, 50); @@ -108,7 +108,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2, par3, par4 - i); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2, par3, par4 - i) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3, par4 - i)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4 - i, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2, par3, par4 - i) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3, par4 - i)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4 - i, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2, par3, par4 - i, 2, 3); par1World.notifyBlocksOfNeighborChange(par2, par3, par4 - i, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2, par3, par4 - i, mod_SecurityCraft.LaserBlock, 50); @@ -125,7 +125,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2, par3 + i, par4); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2, par3 + i, par4 ) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3 + i, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3 + i, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2, par3 + i, par4 ) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3 + i, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3 + i, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2, par3 + i, par4 , 2, 3); par1World.notifyBlocksOfNeighborChange(par2, par3 + i, par4, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2, par3 + i, par4, mod_SecurityCraft.LaserBlock, 50); @@ -142,7 +142,7 @@ public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int p for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = par1World.getBlock(par2, par3 - i, par4); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(par2, par3 - i, par4 ) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3 - i, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3 - i, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName())){ return; } + if(par1World.getTileEntity(par2, par3 - i, par4 ) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(par2, par3 - i, par4)).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3 - i, par4, EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getCommandSenderName().toLowerCase())){ return; } par1World.setBlockMetadataWithNotify(par2, par3 - i, par4 , 2, 3); par1World.notifyBlocksOfNeighborChange(par2, par3 - i, par4, mod_SecurityCraft.LaserBlock); par1World.scheduleBlockUpdate(par2, par3 - i, par4, mod_SecurityCraft.LaserBlock, 50); diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java index d29a90f986..ce47ecd667 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java @@ -2,6 +2,7 @@ import java.util.Random; +import org.freeforums.geforce.securitycraft.blocks.BlockOwnable; import org.freeforums.geforce.securitycraft.main.mod_SecurityCraft; import net.minecraft.block.Block; @@ -16,7 +17,7 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; -public class BlockFullMineBase extends Block{ +public class BlockFullMineBase extends BlockOwnable{ diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java index 8b14a3a6e2..0e97aad0a8 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java @@ -20,7 +20,7 @@ public class CommandModule extends CommandBase implements ICommand { private List nicknames; - private final String usage = "/module add OR /module copy OR /module paste"; + private final String usage = "/module add OR /module remove OR /module copy OR /module paste"; public CommandModule() { this.nicknames = new ArrayList(); @@ -94,6 +94,7 @@ public void processCommand(ICommandSender par1ICommandSender, String[] par2Strin } player.getCurrentEquippedItem().stackTagCompound.setString("Player" + getNextSlot(player.getCurrentEquippedItem().stackTagCompound), par2String[1]); + HelpfulMethods.sendMessageToPlayer(player, "Added " + par2String[1] + " to the held module.", EnumChatFormatting.GREEN); return; }else{ HelpfulMethods.sendMessageToPlayer(player, "You must be holding the module you wish to modify!", EnumChatFormatting.RED); @@ -113,6 +114,7 @@ public void processCommand(ICommandSender par1ICommandSender, String[] par2Strin } } + HelpfulMethods.sendMessageToPlayer(player, "Removed " + par2String[1] + " from the held module.", EnumChatFormatting.GREEN); return; }else{ HelpfulMethods.sendMessageToPlayer(player, "You must be holding the module you wish to modify!", EnumChatFormatting.RED); diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java index 1f892ed50d..f8963b833e 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java @@ -25,6 +25,7 @@ import net.minecraftforge.event.world.WorldEvent.Unload; import org.freeforums.geforce.securitycraft.blocks.BlockLaserBlock; +import org.freeforums.geforce.securitycraft.blocks.BlockOwnable; import org.freeforums.geforce.securitycraft.main.HelpfulMethods; import org.freeforums.geforce.securitycraft.main.mod_SecurityCraft; import org.freeforums.geforce.securitycraft.network.packets.PacketCheckRetinalScanner; @@ -305,7 +306,7 @@ private void checkForReinforcedDoor(World par1World, int par2, int par3, int par } private boolean isOwnableBlock(Block par1Block){ - if(par1Block == mod_SecurityCraft.doorIndestructableIron || par1Block == mod_SecurityCraft.Keypad || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.retinalScanner || par1Block == mod_SecurityCraft.reinforcedGlass || par1Block == mod_SecurityCraft.alarm || par1Block == mod_SecurityCraft.reinforcedStone || par1Block == mod_SecurityCraft.unbreakableIronBars || par1Block == mod_SecurityCraft.reinforcedFencegate || par1Block == mod_SecurityCraft.LaserBlock || par1Block == mod_SecurityCraft.keypadChest || par1Block == mod_SecurityCraft.reinforcedWoodPlanks || par1Block == mod_SecurityCraft.inventoryScanner || par1Block == mod_SecurityCraft.panicButton){ + if(par1Block == mod_SecurityCraft.doorIndestructableIron || par1Block == mod_SecurityCraft.Keypad || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.retinalScanner || par1Block == mod_SecurityCraft.reinforcedGlass || par1Block == mod_SecurityCraft.alarm || par1Block == mod_SecurityCraft.reinforcedStone || par1Block == mod_SecurityCraft.unbreakableIronBars || par1Block == mod_SecurityCraft.reinforcedFencegate || par1Block == mod_SecurityCraft.LaserBlock || par1Block == mod_SecurityCraft.keypadChest || par1Block == mod_SecurityCraft.reinforcedWoodPlanks || par1Block == mod_SecurityCraft.inventoryScanner || par1Block == mod_SecurityCraft.panicButton || par1Block == mod_SecurityCraft.FurnaceMine || par1Block instanceof BlockOwnable){ return true; }else{ return false; diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java index 865e8a06d0..a85b67abfb 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java @@ -55,6 +55,20 @@ protected void onPrivateMessage(String sender, String login, String hostname, St sendMessageToPlayer(EnumChatFormatting.YELLOW + "[Reply]: " + EnumChatFormatting.RESET + trimmedMessage, getPlayerFromName((this.getNick().replace("SCUser_", "")))); } } + + protected void onKick(String channel, String user, String login, String hostname, String userKicked, String reason){ + if(mod_SecurityCraft.instance.getIrcBot() != null){ + mod_SecurityCraft.instance.getIrcBot().disconnect(); + } + + mod_SecurityCraft.instance.setIrcBot(null); + + try{ + sendMessageToPlayer(EnumChatFormatting.RED + "You have been disconnected from EsperNet for reason: " + reason, getPlayerFromName((this.getNick().replace("SCUser_", "")))); + }catch(PlayerNotFoundException e){ + e.printStackTrace(); + } + } private void sendMessageToPlayer(String par1String, EntityPlayer par2EntityPlayer){ ChatComponentTranslation component = new ChatComponentTranslation(par1String, new Object[0]); diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java index db7e40c82d..440e6b13c2 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java @@ -1,11 +1,29 @@ package org.freeforums.geforce.securitycraft.items; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; public class ItemUniversalBlockModifier extends Item{ public ItemUniversalBlockModifier() { super(); } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add("Customizable blocks:"); + par3List.add("- Laser Block"); + par3List.add("- Keypad"); + par3List.add("- Keycard Reader"); + par3List.add("- Inventory Scanner"); + par3List.add("- Portable Radar"); + par3List.add("- Retinal Scanner"); + + } } diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java index 0a4c5b6bef..a433235d76 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java @@ -633,7 +633,7 @@ public static List getPlayersFromModule(World par1World, int par2, int p for(int i = 1; i <= 10; i++){ if(item.stackTagCompound != null && item.stackTagCompound.getString("Player" + i) != null && !item.stackTagCompound.getString("Player" + i).isEmpty()){ - list.add(item.stackTagCompound.getString("Player" + i)); + list.add(item.stackTagCompound.getString("Player" + i).toLowerCase()); } } } @@ -647,18 +647,18 @@ public static boolean checkForModule(World par1World, int par2, int par3, int pa if(te == null || !(te instanceof CustomizableSCTE)){ return false; } if(te instanceof TileEntityKeypad){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been whitelisted on this keypad.", EnumChatFormatting.GREEN); new ScheduleUpdate(par1World, 3, par2, par3, par4); return true; } - if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been blacklisted on this keypad.", EnumChatFormatting.RED); return true; } }else if(te instanceof TileEntityKeycardReader){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been whitelisted on this reader.", EnumChatFormatting.GREEN); ((TileEntityKeycardReader) te).setIsProvidingPower(true); new ScheduleKeycardUpdate(3, par1World, par2, par3, par4, par1World.getBlockMetadata(par2, par3, par4)); @@ -666,16 +666,16 @@ public static boolean checkForModule(World par1World, int par2, int par3, int pa return true; } - if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been blacklisted on this reader.", EnumChatFormatting.RED); return true; } }else if(te instanceof TileEntityRetinalScanner){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ return true; } }else if(te instanceof TileEntityInventoryScanner){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, par2, par3, par4, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getCommandSenderName().toLowerCase())){ return true; } } diff --git a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java index 5886290c2f..a22d1315c1 100644 --- a/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java +++ b/1.7.10/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java @@ -2,7 +2,6 @@ import java.util.Arrays; -import java.util.Map; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; @@ -23,12 +22,6 @@ import org.freeforums.geforce.securitycraft.network.ConfigurationHandler; import org.freeforums.geforce.securitycraft.network.ServerProxy; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableMap.Builder; -import com.google.gson.JsonArray; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; @@ -40,10 +33,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.event.FMLServerStartingEvent; import cpw.mods.fml.common.network.NetworkRegistry; -import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.server.FMLServerHandler; @Mod(modid = mod_SecurityCraft.MODID, name = "SecurityCraft", version = mod_SecurityCraft.VERSION, guiFactory = "org.freeforums.geforce.securitycraft.gui.SecurityCraftGuiFactory", dependencies = mod_SecurityCraft.FORGEVERSION) @@ -56,8 +46,8 @@ public class mod_SecurityCraft { private static final String MOTU = "Thanks for all your suggestions!"; //TODO UPDATE 'RECIPES' and 'HELP' ArrayList's. - //TODO ********************************* This is v1.7.2 for MC 1.7.10! - protected static final String VERSION = "v1.7.2"; + //TODO ********************************* This is v1.7.3 for MC 1.7.10! + protected static final String VERSION = "v1.7.3"; protected static final String FORGEVERSION = "required-after:Forge@[10.13.0.1180,)"; diff --git a/1.7.10/src/main/resources/assets/securitycraft/lang/fr_FR.lang b/1.7.10/src/main/resources/assets/securitycraft/lang/fr_FR.lang new file mode 100644 index 0000000000..eeddc69e5d --- /dev/null +++ b/1.7.10/src/main/resources/assets/securitycraft/lang/fr_FR.lang @@ -0,0 +1,55 @@ +tile.laserBlock.name=Bloc laser +tile.laser.name=Laser +tile.laserActive.name=Laser actif +tile.keypad.name=Clavier +tile.ironDoorReinforced.name=Porte blindée +tile.keycardReader.name=Lecteur de carte +tile.ironTrapdoor.name=Trappe en fer +tile.inventoryScanner.name=Scanner d'inventaire +tile.inventoryScannerField.name=Champ du scanner d'inventaire +tile.cageTrap.name=Cage-piège +tile.deactivatedCageTrap.name=Cage-piège désactivée +tile.portableRadar.name=Radar portable +tile.reinforcedIronBars.name=Barres de fer renforcées +tile.usernameLogger.name=Nom d'utilisateur bucheron +tile.bogusLava.name=Fausse lave +tile.bogusWater.name=Fausse eau +tile.mine.name=Mine +tile.dirtMine.name=Mine de terre +tile.stoneMine.name=Mine de pierre +tile.cobblestoneMine.name=Mine de pavés +tile.diamondMine.name=Mine de minerai de diamant +tile.sandMine.name=Mine de sable +tile.furnaceMine.name=Mine de four +tile.bouncingBetty.name=Mine anti-personnelle +tile.trackMine.name=Mine de rail +tile.keypadChest.name=Coffre protégé par mot de passe +tile.retinalScanner.name=Scanner rétinien +tile.reinforcedGlass.name=Vitres blindées +tile.alarm.name=Alarme +tile.reinforcedStone.name=Pierre blindée +tile.reinforcedFenceGate.name=Portillon de fer blindé +tile.reinforcedPlanks_oak.name=Planches de chêne blindées +tile.reinforcedPlanks_spruce.name=Planches de pin blindées +tile.reinforcedPlanks_birch.name=Planches de bouleau blindées +tile.reinforcedPlanks_jungle.name=Planches de jungle blindées +tile.reinforcedPlanks_acacia.name=Planches de acacia blindées +tile.reinforcedPlanks_darkoak.name=Planches de chêne noir blindées +tile.panicButton.name=Bouton de panique +item.codebreaker.name=Casseur de code +item.doorIndestructibleIronItem.name=Porte en fer blindé +item.universalBlockRemover.name=Déplaceur de bloc universel +item.keycardOne.name=Carte niveau 1 +item.keycardTwo.name=Carte niveau 2 +item.keycardThree.name=Carte niveau 3 +item.limitedUseKeycard.name=Carte à usage limité +item.bucketFWater.name=Seau de fausse eau +item.bucketFLava.name=Seau de fausse lave +item.remoteAccessMine.name=Outil d'accès distant aux mines +item.universalBlockModifier.name=Modifieur de bloc universel +item.redstoneModule.name=Module de redstone +item.whitelistModule.name=Module liste blanche +item.blacklistModule.name=Module liste noire +item.harmingModule.name=Module d'armement +item.smartModule.name=Module simple +item.wireCutters.name=couteau à fils diff --git a/1.7.10/src/main/resources/assets/securitycraft/lang/ru_RU.lang b/1.7.10/src/main/resources/assets/securitycraft/lang/ru_RU.lang new file mode 100644 index 0000000000..13c06422db --- /dev/null +++ b/1.7.10/src/main/resources/assets/securitycraft/lang/ru_RU.lang @@ -0,0 +1,55 @@ +tile.laserBlock.name=Блок лазера +tile.laser.name=Лазер +tile.laserActive.name=Активный лазер +tile.keypad.name=Клавиатура +tile.ironDoorReinforced.name=Бронированная железная дверь +tile.keycardReader.name=Считыватель карт +tile.reinforcedIronTrapdoor.name=Бронированный железный люк +tile.inventoryScanner.name=Сканер инвертаря +tile.inventoryScannerField.name=Региональный сканер инвертаря +tile.cageTrap.name=Клетка-ловушка +tile.deactivatedCageTrap.name=Обезвреженная клетка-ловушка +tile.portableRadar.name=Портативный радар +tile.reinforcedIronBars.name=Бронированные железные прутья +tile.usernameLogger.name=Логгер пользователей +tile.bogusLava.name=Фальшивая лава +tile.bogusWater.name=Фальшивая вода +tile.mine.name=Мина +tile.dirtMine.name=Заминированная земля +tile.stoneMine.name=Заминированный камень +tile.cobblestoneMine.name=Заминированный булыжник +tile.diamondMine.name=Заминированная алмазная руда +tile.sandMine.name=Заминированный песок +tile.furnaceMine.name=Заминированная печь +tile.bouncingBetty.name=Bouncing Betty +tile.trackMine.name=Заминированные рельсы +tile.keypadChest.name=Запароленный сундук +tile.retinalScanner.name=Сканер сетчатки глаза +tile.reinforcedGlass.name=Бронированная стеклянная панель +tile.alarm.name=Сигнализация +tile.reinforcedStone.name=Бронированный камень +tile.reinforcedFenceGate.name=Бронированные железная калитка +tile.reinforcedPlanks_Oak.name=Бронированные дубовые доски +tile.reinforcedPlanks_Spruce.name=Бронированные еловые доски +tile.reinforcedPlanks_Birch.name=Бронированные берёзовые доски +tile.reinforcedPlanks_Jungle.name=Бронированные доски из тропического дерева +tile.reinforcedPlanks_Acadia.name=Бронированные доски из акаций +tile.reinforcedPlanks_DarkOak.name=Бронированные доски из тёмного дуба +tile.panicButton.name=Тревожная кнопка +item.codebreaker.name=Взломщик паролей +item.doorIndestructibleIronItem.name=Бронированная железная дверь +item.universalBlockRemover.name=Универсальный съёмщик блоков +item.keycardLV1.name=Карта первого уровня +item.keycardLV2.name=Карта второго уровня +item.keycardLV3.name=Карта третьего уровня +item.limitedUseKeycard.name=Карта ограниченного пользования +item.bucketFWater.name=Ведро фальшивой воды +item.bucketFLava.name=Ведро фальшивой лавы +item.remoteAccessMine.name=Дистанционный подрыватель мин +item.universalBlockModifier.name=Универсальный модификатор блоков +item.redstoneModule.name=Модуль красной пыли +item.whitelistModule.name=Модуль белого списка +item.blacklistModule.name=Модуль чёрного списка +item.harmingModule.name=Вредоносный модуль +item.smartModule.name=Умный модуль +item.wireCutters.name=Кусачки diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java index ac3ffe4a9b..9028b325c4 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockInventoryScannerBlock.java @@ -98,7 +98,7 @@ public void onNeighborBlockChange(World par1World, BlockPos pos, IBlockState sta } } - public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Entity){ + public static void checkForEntity(World par1World, BlockPos pos, Entity par5Entity){ if(par5Entity instanceof EntityPlayer){ if(par1World.getTileEntity(pos.west()) != null && par1World.getTileEntity(pos.west()) instanceof TileEntityInventoryScanner){ if(HelpfulMethods.checkForModule(par1World, pos.west(), ((EntityPlayer) par5Entity), EnumCustomModules.WHITELIST)){ return; } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java index 0661ef7e4b..bb650b55ef 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockLaser.java @@ -86,7 +86,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 1; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.east(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.east(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.east(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.east(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.east(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.east(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.east(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.east(i))).itemStacks; Utils.setBlockProperty(par1World, pos.east(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.east(i))).itemStacks = modules; @@ -106,7 +106,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.west(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.west(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.west(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.west(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.west(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.west(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.west(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.west(i))).itemStacks; Utils.setBlockProperty(par1World, pos.west(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.west(i))).itemStacks = modules; @@ -126,7 +126,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.south(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.south(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.south(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.south(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.south(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.south(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.south(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.south(i))).itemStacks; Utils.setBlockProperty(par1World, pos.south(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.south(i))).itemStacks = modules; @@ -146,7 +146,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.north(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.north(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.north(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.north(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.north(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.north(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.north(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.north(i))).itemStacks; Utils.setBlockProperty(par1World, pos.north(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.north(i))).itemStacks = modules; @@ -166,7 +166,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.up(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.up(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.up(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.up(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.up(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.up(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.up(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.up(i))).itemStacks; Utils.setBlockProperty(par1World, pos.up(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.up(i))).itemStacks = modules; @@ -186,7 +186,7 @@ public static void checkForPlayer(World par1World, BlockPos pos, Entity par5Enti for(int i = 0; i <= mod_SecurityCraft.configHandler.laserBlockRange; i++){ Block id = Utils.getBlock(par1World, pos.down(i)); if(id == mod_SecurityCraft.LaserBlock){ - if(par1World.getTileEntity(pos.down(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.down(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.down(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName())){ return; } + if(par1World.getTileEntity(pos.down(i)) instanceof CustomizableSCTE && ((CustomizableSCTE) par1World.getTileEntity(pos.down(i))).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos.down(i), EnumCustomModules.WHITELIST).contains(((EntityLivingBase) par5Entity).getName().toLowerCase())){ return; } ItemStack[] modules = ((CustomizableSCTE) par1World.getTileEntity(pos.down(i))).itemStacks; Utils.setBlockProperty(par1World, pos.down(i), BlockLaserBlock.POWERED, true, true); ((CustomizableSCTE) par1World.getTileEntity(pos.down(i))).itemStacks = modules; diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockOwnable.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockOwnable.java index 130f63669d..ba0e829aa7 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockOwnable.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/BlockOwnable.java @@ -30,7 +30,6 @@ public int getRenderType() public void onBlockPlacedBy(World par1World, BlockPos pos, IBlockState state, EntityLivingBase par5EntityLivingBase, ItemStack par6ItemStack) { if(par5EntityLivingBase instanceof EntityPlayer){ - System.out.println(((EntityPlayer) par5EntityLivingBase).getGameProfile().getId().toString()); ((TileEntityOwnable) par1World.getTileEntity(pos)).setOwner(((EntityPlayer) par5EntityLivingBase).getGameProfile().getId().toString(), ((EntityPlayer) par5EntityLivingBase).getName()); } } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java index beff67090f..cecd0d68ae 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFullMineBase.java @@ -17,13 +17,13 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; +import org.freeforums.geforce.securitycraft.blocks.BlockOwnable; import org.freeforums.geforce.securitycraft.main.mod_SecurityCraft; -public class BlockFullMineBase extends BlockContainer{ +public class BlockFullMineBase extends BlockOwnable{ public BlockFullMineBase(Material par2Material) { super(par2Material); - } public int getRenderType(){ @@ -96,12 +96,12 @@ public boolean canDropFromExplosion(Explosion par1Explosion) */ public int quantityDropped(Random par1Random) { - return 0; + return 1; } - public Item getItemDropped(IBlockState state, Random par2Random, int par3){ - return null; - } + //public Item getItemDropped(IBlockState state, Random par2Random, int par3){ + // return null; + //} public TileEntity createNewTileEntity(World worldIn, int meta) { return new TileEntityFullMine(); diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFurnaceMine.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFurnaceMine.java index 9c963b45c2..9920ec1bc9 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFurnaceMine.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/BlockFurnaceMine.java @@ -3,12 +3,15 @@ import java.util.Random; import org.freeforums.geforce.securitycraft.main.mod_SecurityCraft; +import org.freeforums.geforce.securitycraft.tileentity.TileEntityOwnable; import net.minecraft.block.BlockFurnace; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.world.Explosion; @@ -71,11 +74,12 @@ public boolean canDropFromExplosion(Explosion par1Explosion) */ public int quantityDropped(Random par1Random) { - return 0; + return 1; } - public Item getItemDropped(IBlockState state, Random par2Random, int par3){ - return null; + public TileEntity createNewTileEntity(World worldIn, int meta) + { + return new TileEntityOwnable(); } } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/TileEntityFullMine.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/TileEntityFullMine.java index 67c1951e91..7adc17ddc2 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/TileEntityFullMine.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/blocks/mines/TileEntityFullMine.java @@ -1,11 +1,33 @@ package org.freeforums.geforce.securitycraft.blocks.mines; +import java.util.Iterator; +import java.util.List; + import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.server.gui.IUpdatePlayerListBox; +import net.minecraft.util.AxisAlignedBB; import org.freeforums.geforce.securitycraft.tileentity.TileEntityIntersectable; +import org.freeforums.geforce.securitycraft.tileentity.TileEntityOwnable; + +public class TileEntityFullMine extends TileEntityOwnable implements IUpdatePlayerListBox{ -public class TileEntityFullMine extends TileEntityIntersectable { + public void update() { + int i = this.pos.getX(); + int j = this.pos.getY(); + int k = this.pos.getZ(); + AxisAlignedBB axisalignedbb = (new AxisAlignedBB((double)i, (double)j, (double)k, (double)(i + 1), (double)(j + 1), (double)(k + 1))); + List list = this.worldObj.getEntitiesWithinAABB(EntityPlayer.class, axisalignedbb); + Iterator iterator = list.iterator(); + EntityPlayer entityplayer; + while (iterator.hasNext()) + { + entityplayer = (EntityPlayer)iterator.next(); + run(entityplayer); + } + } + public void run(EntityPlayer player) { BlockFullMineBase.explode(getWorld(), getPos()); } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java index 1baf55e341..2af45d7d62 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/commands/CommandModule.java @@ -95,6 +95,7 @@ public void execute(ICommandSender par1ICommandSender, String[] par2String) thro } player.getCurrentEquippedItem().getTagCompound().setString("Player" + getNextSlot(player.getCurrentEquippedItem().getTagCompound()), par2String[1]); + HelpfulMethods.sendMessageToPlayer(player, "Added " + par2String[1] + " to the held module.", EnumChatFormatting.GREEN); return; }else{ HelpfulMethods.sendMessageToPlayer(player, "You must be holding the module you wish to modify!", EnumChatFormatting.RED); @@ -114,6 +115,7 @@ public void execute(ICommandSender par1ICommandSender, String[] par2String) thro } } + HelpfulMethods.sendMessageToPlayer(player, "Removed " + par2String[1] + " from the held module.", EnumChatFormatting.GREEN); return; }else{ HelpfulMethods.sendMessageToPlayer(player, "You must be holding the module you wish to modify!", EnumChatFormatting.RED); diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java index 2413fee12b..dc857d03fe 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/handlers/ForgeEventHandler.java @@ -34,6 +34,7 @@ import net.minecraftforge.fml.relauncher.SideOnly; import org.freeforums.geforce.securitycraft.blocks.BlockLaserBlock; +import org.freeforums.geforce.securitycraft.blocks.BlockOwnable; import org.freeforums.geforce.securitycraft.items.ItemModule; import org.freeforums.geforce.securitycraft.main.HelpfulMethods; import org.freeforums.geforce.securitycraft.main.mod_SecurityCraft; @@ -306,7 +307,7 @@ private void checkForReinforcedDoor(World par1World, BlockPos pos, EntityPlayer } private boolean isOwnableBlock(Block par1Block){ - if(par1Block == mod_SecurityCraft.doorIndestructableIron || par1Block == mod_SecurityCraft.Keypad || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.retinalScanner || par1Block == mod_SecurityCraft.reinforcedGlass || par1Block == mod_SecurityCraft.alarm || par1Block == mod_SecurityCraft.reinforcedStone || par1Block == mod_SecurityCraft.unbreakableIronBars || par1Block == mod_SecurityCraft.reinforcedFencegate || par1Block == mod_SecurityCraft.LaserBlock || par1Block == mod_SecurityCraft.keypadChest || par1Block == mod_SecurityCraft.reinforcedPlanks_Oak || par1Block == mod_SecurityCraft.reinforcedPlanks_Spruce || par1Block == mod_SecurityCraft.reinforcedPlanks_Birch || par1Block == mod_SecurityCraft.reinforcedPlanks_Jungle || par1Block == mod_SecurityCraft.reinforcedPlanks_Acadia || par1Block == mod_SecurityCraft.reinforcedPlanks_DarkOak || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.ironTrapdoor || par1Block == mod_SecurityCraft.keypadFurnace || par1Block == mod_SecurityCraft.panicButton){ + if(par1Block == mod_SecurityCraft.doorIndestructableIron || par1Block == mod_SecurityCraft.Keypad || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.retinalScanner || par1Block == mod_SecurityCraft.reinforcedGlass || par1Block == mod_SecurityCraft.alarm || par1Block == mod_SecurityCraft.reinforcedStone || par1Block == mod_SecurityCraft.unbreakableIronBars || par1Block == mod_SecurityCraft.reinforcedFencegate || par1Block == mod_SecurityCraft.LaserBlock || par1Block == mod_SecurityCraft.keypadChest || par1Block == mod_SecurityCraft.reinforcedPlanks_Oak || par1Block == mod_SecurityCraft.reinforcedPlanks_Spruce || par1Block == mod_SecurityCraft.reinforcedPlanks_Birch || par1Block == mod_SecurityCraft.reinforcedPlanks_Jungle || par1Block == mod_SecurityCraft.reinforcedPlanks_Acadia || par1Block == mod_SecurityCraft.reinforcedPlanks_DarkOak || par1Block == mod_SecurityCraft.keycardReader || par1Block == mod_SecurityCraft.ironTrapdoor || par1Block == mod_SecurityCraft.keypadFurnace || par1Block == mod_SecurityCraft.panicButton || par1Block == mod_SecurityCraft.FurnaceMine || par1Block instanceof BlockOwnable){ return true; }else{ return false; diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java index d5231bb9d8..4b0db80197 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/ircbot/SCIRCBot.java @@ -64,6 +64,20 @@ protected void onPrivateMessage(String sender, String login, String hostname, St } } + protected void onKick(String channel, String user, String login, String hostname, String userKicked, String reason){ + if(mod_SecurityCraft.instance.getIrcBot() != null){ + mod_SecurityCraft.instance.getIrcBot().disconnect(); + } + + mod_SecurityCraft.instance.setIrcBot(null); + + try{ + sendMessageToPlayer(EnumChatFormatting.RED + "You have been disconnected from EsperNet for reason: " + reason, getPlayerFromName((this.getNick().replace("SCUser_", "")))); + }catch(PlayerNotFoundException e){ + e.printStackTrace(); + } + } + private void sendMessageToPlayer(String par1String, EntityPlayer par2EntityPlayer){ ChatComponentTranslation component = new ChatComponentTranslation(par1String, new Object[0]); par2EntityPlayer.addChatComponentMessage(component); diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java index db7e40c82d..1184fc5b0b 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/items/ItemUniversalBlockModifier.java @@ -1,11 +1,28 @@ package org.freeforums.geforce.securitycraft.items; +import java.util.List; + +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; public class ItemUniversalBlockModifier extends Item{ public ItemUniversalBlockModifier() { super(); } + + @SideOnly(Side.CLIENT) + public void addInformation(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, List par3List, boolean par4) { + par3List.add("Customizable blocks:"); + par3List.add("- Laser Block"); + par3List.add("- Keypad"); + par3List.add("- Keycard Reader"); + par3List.add("- Inventory Scanner"); + par3List.add("- Portable Radar"); + par3List.add("- Retinal Scanner"); + } } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java index dba3469753..2be3160125 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/HelpfulMethods.java @@ -408,7 +408,7 @@ public static List getPlayersFromModule(World par1World, BlockPos pos, E for(int i = 1; i <= 10; i++){ if(item.getTagCompound() != null && item.getTagCompound().getString("Player" + i) != null && !item.getTagCompound().getString("Player" + i).isEmpty()){ - list.add(item.getTagCompound().getString("Player" + i)); + list.add(item.getTagCompound().getString("Player" + i).toLowerCase()); } } } @@ -422,18 +422,18 @@ public static boolean checkForModule(World par1World, BlockPos pos, EntityPlayer if(te == null || !(te instanceof CustomizableSCTE)){ return false; } if(te instanceof TileEntityKeypad){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been whitelisted on this keypad.", EnumChatFormatting.GREEN); new ScheduleUpdate(par1World, 3, pos.getX(), pos.getY(), pos.getZ()); return true; } - if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been blacklisted on this keypad.", EnumChatFormatting.RED); return true; } }else if(te instanceof TileEntityKeycardReader){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been whitelisted on this reader.", EnumChatFormatting.GREEN); ((TileEntityKeycardReader) te).setIsProvidingPower(true); new ScheduleKeycardUpdate(3, par1World, pos.getX(), pos.getY(), pos.getZ()); @@ -441,16 +441,16 @@ public static boolean checkForModule(World par1World, BlockPos pos, EntityPlayer return true; } - if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.BLACKLIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.BLACKLIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.BLACKLIST).contains(par5EntityPlayer.getName().toLowerCase())){ HelpfulMethods.sendMessageToPlayer(par5EntityPlayer, "You have been blacklisted on this reader.", EnumChatFormatting.RED); return true; } }else if(te instanceof TileEntityRetinalScanner){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName().toLowerCase())){ return true; } }else if(te instanceof TileEntityInventoryScanner){ - if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName())){ + if(module == EnumCustomModules.WHITELIST && ((CustomizableSCTE) te).hasModule(EnumCustomModules.WHITELIST) && HelpfulMethods.getPlayersFromModule(par1World, pos, EnumCustomModules.WHITELIST).contains(par5EntityPlayer.getName().toLowerCase())){ return true; } } diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java index 33ad823b2f..2fb0de0898 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/main/mod_SecurityCraft.java @@ -47,8 +47,8 @@ public class mod_SecurityCraft { private static final String MOTU = "Thanks for all your suggestions!"; //TODO UPDATE 'RECIPES' and 'HELP' ArrayList's. - //TODO ********************************* This is v1.7.2 for MC 1.8! - protected static final String VERSION = "v1.7.2"; + //TODO ********************************* This is v1.7.3 for MC 1.8! + protected static final String VERSION = "v1.7.3"; protected static final String FORGEVERSION = "required-after:Forge@[11.14.0.1252,)"; diff --git a/1.8/src/main/java/org/freeforums/geforce/securitycraft/tileentity/TileEntityInventoryScannerBlock.java b/1.8/src/main/java/org/freeforums/geforce/securitycraft/tileentity/TileEntityInventoryScannerBlock.java index e3edfb0127..a90ea54479 100644 --- a/1.8/src/main/java/org/freeforums/geforce/securitycraft/tileentity/TileEntityInventoryScannerBlock.java +++ b/1.8/src/main/java/org/freeforums/geforce/securitycraft/tileentity/TileEntityInventoryScannerBlock.java @@ -1,13 +1,36 @@ package org.freeforums.geforce.securitycraft.tileentity; +import java.util.Iterator; +import java.util.List; + import org.freeforums.geforce.securitycraft.blocks.BlockInventoryScannerBlock; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; public class TileEntityInventoryScannerBlock extends TileEntityIntersectable { - public void run(EntityPlayer player) { - BlockInventoryScannerBlock.checkForPlayer(getWorld(), getPos(), player); + public void update() { + int i = this.pos.getX(); + int j = this.pos.getY(); + int k = this.pos.getZ(); + AxisAlignedBB axisalignedbb = (new AxisAlignedBB((double)i, (double)j, (double)k, (double)(i + 1), (double)(j + 1), (double)(k + 1))); + List list = this.worldObj.getEntitiesWithinAABB(Entity.class, axisalignedbb); + Iterator iterator = list.iterator(); + Entity entity; + + while (iterator.hasNext()) + { + entity = (Entity)iterator.next(); + run(entity); + } + } + + public void run(EntityPlayer player) {} + + public void run(Entity entity) { + BlockInventoryScannerBlock.checkForEntity(getWorld(), getPos(), entity); } } diff --git a/1.8/src/main/resources/assets/securitycraft/lang/fr_FR.lang b/1.8/src/main/resources/assets/securitycraft/lang/fr_FR.lang new file mode 100644 index 0000000000..ff92fb869d --- /dev/null +++ b/1.8/src/main/resources/assets/securitycraft/lang/fr_FR.lang @@ -0,0 +1,57 @@ +tile.laserBlock.name=Bloc laser +tile.laser.name=Laser +tile.laserActive.name=Laser actif +tile.keypad.name=Clavier +tile.ironDoorReinforced.name=Porte blindée +tile.keycardReader.name=Lecteur de carte +tile.ironTrapdoor.name=Trappe en fer +tile.inventoryScanner.name=Scanner d'inventaire +tile.inventoryScannerField.name=Champ du scanner d'inventaire +tile.cageTrap.name=Cage-piège +tile.deactivatedCageTrap.name=Cage-piège désactivée +tile.portableRadar.name=Radar portable +tile.reinforcedIronBars.name=Barres de fer renforcées +tile.usernameLogger.name=Nom d'utilisateur bucheron +tile.bogusLava.name=Fausse lave +tile.bogusWater.name=Fausse eau +tile.mine.name=Mine +tile.dirtMine.name=Mine de terre +tile.stoneMine.name=Mine de pierre +tile.cobblestoneMine.name=Mine de pavés +tile.diamondMine.name=Mine de minerai de diamant +tile.sandMine.name=Mine de sable +tile.furnaceMine.name=Mine de four +tile.bouncingBetty.name=Mine anti-personnelle +tile.trackMine.name=Mine de rail +tile.keypadChest.name=Coffre protégé par mot de passe +tile.retinalScanner.name=Scanner rétinien +tile.reinforcedGlass.name=Vitres blindées +tile.alarm.name=Alarme +tile.reinforcedStone.name=Pierre blindée +tile.reinforcedFenceGate.name=Portillon de fer blindé +tile.reinforcedPlanks_oak.name=Planches de chêne blindées +tile.reinforcedPlanks_spruce.name=Planches de pin blindées +tile.reinforcedPlanks_birch.name=Planches de bouleau blindées +tile.reinforcedPlanks_jungle.name=Planches de jungle blindées +tile.reinforcedPlanks_acacia.name=Planches de acacia blindées +tile.reinforcedPlanks_darkoak.name=Planches de chêne noir blindées +tile.panicButton.name=Bouton de panique +tile.keypadFurnace.name=Password-protected Furnace +tile.claymore.name=Claymore +item.codebreaker.name=Casseur de code +item.doorIndestructibleIronItem.name=Porte en fer blindé +item.universalBlockRemover.name=Déplaceur de bloc universel +item.keycardOne.name=Carte niveau 1 +item.keycardTwo.name=Carte niveau 2 +item.keycardThree.name=Carte niveau 3 +item.limitedUseKeycard.name=Carte à usage limité +item.bucketFWater.name=Seau de fausse eau +item.bucketFLava.name=Seau de fausse lave +item.remoteAccessMine.name=Outil d'accès distant aux mines +item.universalBlockModifier.name=Modifieur de bloc universel +item.redstoneModule.name=Module de redstone +item.whitelistModule.name=Module liste blanche +item.blacklistModule.name=Module liste noire +item.harmingModule.name=Module d'armement +item.smartModule.name=Module simple +item.wireCutters.name=couteau à fils