Added multiblock packets only for sg.

RE-tweaked loot.
Fixed blocks pawns in lobby.
This commit is contained in:
Jonathan Williams 2013-11-26 02:34:54 -08:00
parent 48e392fdf0
commit 9a7a815a21
1 changed files with 76 additions and 52 deletions

View File

@ -324,6 +324,9 @@ public class HungerGames extends SoloGame
if (!(event.getClickedBlock().getState() instanceof Chest))
return;
if (GetState() != GameState.Live)
return;
if (_openedChest.contains(event.getClickedBlock().getLocation()))
return;
@ -365,71 +368,92 @@ public class HungerGames extends SoloGame
if (_baseChestLoot.isEmpty())
{
//Armor
for (int i = 0; i < 4; i++) _baseChestLoot.add(new ItemStack(Material.IRON_HELMET));
for (int i = 0; i < 2; i++) _baseChestLoot.add(new ItemStack(Material.IRON_CHESTPLATE));
for (int i = 0; i < 3; i++) _baseChestLoot.add(new ItemStack(Material.IRON_LEGGINGS));
for (int i = 0; i < 4; i++) _baseChestLoot.add(new ItemStack(Material.IRON_BOOTS));
for (int i = 0; i < 10; i++) _baseChestLoot.add(new ItemStack(Material.IRON_HELMET));
for (int i = 0; i < 3; i++) _baseChestLoot.add(new ItemStack(Material.IRON_CHESTPLATE));
for (int i = 0; i < 5; i++) _baseChestLoot.add(new ItemStack(Material.IRON_LEGGINGS));
for (int i = 0; i < 10; i++) _baseChestLoot.add(new ItemStack(Material.IRON_BOOTS));
for (int i = 0; i < 24; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_HELMET));
for (int i = 0; i < 16; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_CHESTPLATE));
for (int i = 0; i < 20; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_LEGGINGS));
for (int i = 0; i < 24; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_BOOTS));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_HELMET));
for (int i = 0; i < 20; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_CHESTPLATE));
for (int i = 0; i < 25; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_LEGGINGS));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.CHAINMAIL_BOOTS));
for (int i = 0; i < 44; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_HELMET));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_CHESTPLATE));
for (int i = 0; i < 38; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_LEGGINGS));
for (int i = 0; i < 44; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_BOOTS));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_HELMET));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_CHESTPLATE));
for (int i = 0; i < 35; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_LEGGINGS));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_BOOTS));
for (int i = 0; i < 96; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_HELMET));
for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_CHESTPLATE));
for (int i = 0; i < 88; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_LEGGINGS));
for (int i = 0; i < 96; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_BOOTS));
for (int i = 0; i < 100; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_HELMET));
for (int i = 0; i < 90; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_CHESTPLATE));
for (int i = 0; i < 85; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_LEGGINGS));
for (int i = 0; i < 100; i++) _baseChestLoot.add(new ItemStack(Material.LEATHER_BOOTS));
//Weapons
for (int i = 0; i < 128; i++) _baseChestLoot.add(new ItemStack(Material.WOOD_AXE));
for (int i = 0; i < 24; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_AXE));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.STONE_AXE));
for (int i = 0; i < 16; i++) _baseChestLoot.add(new ItemStack(Material.IRON_AXE));
for (int i = 0; i < 70; i++) _baseChestLoot.add(new ItemStack(Material.WOOD_AXE));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_AXE));
for (int i = 0; i < 35; i++) _baseChestLoot.add(new ItemStack(Material.STONE_AXE));
for (int i = 0; i < 15; i++) _baseChestLoot.add(new ItemStack(Material.IRON_AXE));
for (int i = 0; i < 128; i++) _baseChestLoot.add(new ItemStack(Material.WOOD_SWORD));
for (int i = 0; i < 24; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_SWORD));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.STONE_SWORD));
for (int i = 0; i < 12; i++) _baseChestLoot.add(new ItemStack(Material.IRON_SWORD));
for (int i = 0; i < 60; i++) _baseChestLoot.add(new ItemStack(Material.WOOD_SWORD));
for (int i = 0; i < 35; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_SWORD));
for (int i = 0; i < 25; i++) _baseChestLoot.add(new ItemStack(Material.STONE_SWORD));
for (int i = 0; i < 8; i++) _baseChestLoot.add(new ItemStack(Material.IRON_SWORD));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.BOW));
for (int i = 0; i < 128; i++) _baseChestLoot.add(new ItemStack(Material.ARROW, 3));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.BOW));
for (int i = 0; i < 55; i++) _baseChestLoot.add(new ItemStack(Material.ARROW, 4));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.TNT, 1));
for (int i = 0; i < 64; i++) _baseChestLoot.add(new ItemStack(Material.WEB, 2));
for (int i = 0; i < 15; i++) _baseChestLoot.add(new ItemStack(Material.TNT, 1));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.WEB, 2));
//Food
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.MUSHROOM_SOUP));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.COOKED_CHICKEN));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.RAW_BEEF));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.GRILLED_PORK));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.BREAD));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.PUMPKIN_PIE));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.COOKIE));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.ROTTEN_FLESH));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.MUSHROOM_SOUP));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.COOKED_CHICKEN));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.RAW_BEEF));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.GRILLED_PORK));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.BREAD));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.PUMPKIN_PIE));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.COOKIE));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.ROTTEN_FLESH));
for (int i = 0; i < 128; i++) _baseChestLoot.add(new ItemStack(Material.WHEAT, 6));
for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.WHEAT, 6));
//Misc
for (int i = 0; i < 128; i++) _baseChestLoot.add(new ItemStack(Material.COMPASS, 1));
for (int i = 0; i < 48; i++) _baseChestLoot.add(new ItemStack(Material.EXP_BOTTLE, 1));
for (int i = 0; i < 36; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_INGOT, 2));
for (int i = 0; i < 24; i++) _baseChestLoot.add(new ItemStack(Material.IRON_INGOT));
for (int i = 0; i < 3; i++) _baseChestLoot.add(new ItemStack(Material.DIAMOND));
for (int i = 0; i < 64; i++) _baseChestLoot.add(new ItemStack(Material.STICK, 4));
for (int i = 0; i < 64; i++) _baseChestLoot.add(new ItemStack(Material.FLINT, 3));
for (int i = 0; i < 64; i++) _baseChestLoot.add(new ItemStack(Material.FEATHER, 3));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.BOAT));
for (int i = 0; i < 64; i++) _baseChestLoot.add(new ItemStack(Material.FISHING_ROD));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.COMPASS, 1));
for (int i = 0; i < 25; i++) _baseChestLoot.add(new ItemStack(Material.EXP_BOTTLE, 1));
for (int i = 0; i < 50; i++) _baseChestLoot.add(new ItemStack(Material.GOLD_INGOT, 2));
for (int i = 0; i < 30; i++) _baseChestLoot.add(new ItemStack(Material.IRON_INGOT));
for (int i = 0; i < 5; i++) _baseChestLoot.add(new ItemStack(Material.DIAMOND));
for (int i = 0; i < 60; i++) _baseChestLoot.add(new ItemStack(Material.STICK, 4));
for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.FLINT, 6));
for (int i = 0; i < 80; i++) _baseChestLoot.add(new ItemStack(Material.FEATHER, 6));
for (int i = 0; i < 40; i++) _baseChestLoot.add(new ItemStack(Material.BOAT));
for (int i = 0; i < 70; i++) _baseChestLoot.add(new ItemStack(Material.FISHING_ROD));
//Building Supplies
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.PISTON_BASE, 4));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.STRING, 4));
for (int i = 0; i < 32; i++) _baseChestLoot.add(new ItemStack(Material.TRIPWIRE_HOOK, 4));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.PISTON_BASE, 4));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.STRING, 4));
for (int i = 0; i < 45; i++) _baseChestLoot.add(new ItemStack(Material.TRIPWIRE_HOOK, 4));
/*
String material = _baseChestLoot.get(0).getType().toString();
double count = 0;
for (int i = 0; i < _baseChestLoot.size(); i++)
{
if (!_baseChestLoot.get(i).getType().toString().equalsIgnoreCase(material))
{
System.out.println(material + " - " + count + " - " + (count / _baseChestLoot.size() * 100) + "%");
material = _baseChestLoot.get(i).getType().toString();
count = 1;
}
else
{
count++;
}
}
System.out.println(material + " " + (count / _baseChestLoot.size() * 100) + "%");
*/
}
if (_superChestLoot.isEmpty())
@ -733,7 +757,7 @@ public class HungerGames extends SoloGame
boolean added = false;
for (ChunkChange change : _redChunks.get(player))
{
if (change.Chunk.equals(loc.getChunk()) /* XXX && change.DirtyCount < 63*/)
if (change.Chunk.equals(loc.getChunk()) && change.DirtyCount < 63)
{
change.AddChange(loc, id, data);
added = true;
@ -748,7 +772,7 @@ public class HungerGames extends SoloGame
@EventHandler
public void RedChunkUpdate(UpdateEvent event)
{
if (event.getType() != UpdateType.FASTER)
if (event.getType() != UpdateType.TICK)
return;
if (!IsLive())