Make the full jump to 1.12.

Warning: this really really really does not work with previous MC versions.
This commit is contained in:
wizjany 2017-09-16 16:48:38 -04:00
parent 3a8e3e84b8
commit f76259df82
23 changed files with 197 additions and 214 deletions

View File

@ -4,17 +4,16 @@ apply plugin: 'idea'
project.version = '6.2.2-SNAPSHOT'
ext.internalVersion = project.version + ";" + gitCommitHash
sourceCompatibility = 1.7
targetCompatibility = 1.7
sourceCompatibility = 1.8
targetCompatibility = 1.8
checkstyle.configFile = new File(projectDir, "config/checkstyle/checkstyle.xml")
dependencies {
compile 'org.khelekore:prtree:1.5.0'
compile 'org.bukkit:bukkit:1.11-R0.1-SNAPSHOT'
compile 'org.bukkit:bukkit:1.12-R0.1-SNAPSHOT'
compile 'com.sk89q.worldedit:worldedit-bukkit:6.1.3-SNAPSHOT'
compile 'com.sk89q:squirrelid:0.1.0'
compile 'com.sk89q:guavabackport:1.2'
compile 'org.flywaydb:flyway-core:3.0'
compile ('com.sk89q:commandbook:2.3') {
exclude group: 'com.sk89q', module: 'worldedit'
@ -41,14 +40,12 @@ processResources {
shadowJar {
dependencies {
include(dependency('org.khelekore:prtree:1.5.0'))
include(dependency('com.sk89q:guavabackport:1.2'))
include(dependency('com.sk89q:squirrelid:0.1.0'))
include(dependency('org.flywaydb:flyway-core:3.0'))
include(dependency('com.googlecode.json-simple:json-simple:1.1.1'))
include(dependency('net.sf.opencsv:opencsv:2.0'))
}
relocate('com.sk89q.guavabackport', 'com.sk89q.worldguard.internal.guava')
relocate('org.flywaydb', 'com.sk89q.worldguard.internal.flywaydb')
relocate('com.sk89q.squirrelid', 'com.sk89q.worldguard.util.profile')
relocate('org.json.simple', 'com.sk89q.worldguard.util.jsonsimple')

View File

@ -19,11 +19,12 @@
package com.sk89q.worldguard.bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldguard.LocalPlayer;
import org.bukkit.BanList.Type;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import java.util.UUID;
@ -82,7 +83,7 @@ public class BukkitPlayer extends LocalPlayer {
@Override
public void ban(String msg) {
if (!silenced) {
player.setBanned(true);
Bukkit.getBanList(Type.NAME).addBan(player.getName(), null, null, null);
player.kickPlayer(msg);
}
}

View File

@ -21,15 +21,25 @@ package com.sk89q.worldguard.bukkit;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListeningExecutorService;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import com.sk89q.bukkit.util.CommandsManagerRegistration;
import com.sk89q.minecraft.util.commands.*;
import com.sk89q.minecraft.util.commands.CommandException;
import com.sk89q.minecraft.util.commands.CommandPermissionsException;
import com.sk89q.minecraft.util.commands.CommandUsageException;
import com.sk89q.minecraft.util.commands.CommandsManager;
import com.sk89q.minecraft.util.commands.MissingNestedCommandException;
import com.sk89q.minecraft.util.commands.SimpleInjector;
import com.sk89q.minecraft.util.commands.WrappedCommandException;
import com.sk89q.squirrelid.cache.HashMapCache;
import com.sk89q.squirrelid.cache.ProfileCache;
import com.sk89q.squirrelid.cache.SQLiteCache;
import com.sk89q.squirrelid.resolver.*;
import com.sk89q.squirrelid.resolver.BukkitPlayerService;
import com.sk89q.squirrelid.resolver.CacheForwardingService;
import com.sk89q.squirrelid.resolver.CombinedProfileService;
import com.sk89q.squirrelid.resolver.HttpRepositoryService;
import com.sk89q.squirrelid.resolver.ProfileService;
import com.sk89q.wepif.PermissionsResolverManager;
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import com.sk89q.worldguard.LocalPlayer;
@ -37,27 +47,7 @@ import com.sk89q.worldguard.bukkit.commands.GeneralCommands;
import com.sk89q.worldguard.bukkit.commands.ProtectionCommands;
import com.sk89q.worldguard.bukkit.commands.ToggleCommands;
import com.sk89q.worldguard.bukkit.event.player.ProcessPlayerEvent;
import com.sk89q.worldguard.bukkit.listener.BlacklistListener;
import com.sk89q.worldguard.bukkit.listener.BlockedPotionsListener;
import com.sk89q.worldguard.bukkit.listener.BuildPermissionListener;
import com.sk89q.worldguard.bukkit.listener.ChestProtectionListener;
import com.sk89q.worldguard.bukkit.listener.DebuggingListener;
import com.sk89q.worldguard.bukkit.listener.EventAbstractionListener;
import com.sk89q.worldguard.bukkit.listener.InvincibilityListener;
import com.sk89q.worldguard.bukkit.listener.PlayerModesListener;
import com.sk89q.worldguard.bukkit.listener.PlayerMoveListener;
import com.sk89q.worldguard.bukkit.listener.RegionFlagsListener;
import com.sk89q.worldguard.bukkit.listener.RegionProtectionListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardBlockListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardCommandBookListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardEntityListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardHangingListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardPlayerListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardServerListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardVehicleListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardWeatherListener;
import com.sk89q.worldguard.bukkit.listener.WorldGuardWorldListener;
import com.sk89q.worldguard.bukkit.listener.WorldRulesListener;
import com.sk89q.worldguard.bukkit.listener.*;
import com.sk89q.worldguard.bukkit.util.Events;
import com.sk89q.worldguard.protection.GlobalRegionManager;
import com.sk89q.worldguard.protection.flags.DefaultFlag;

View File

@ -19,8 +19,8 @@
package com.sk89q.worldguard.bukkit.commands;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.util.task.FutureForwardingTask;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import org.bukkit.World;

View File

@ -20,9 +20,9 @@
package com.sk89q.worldguard.bukkit.commands;
import com.google.common.base.Function;
import com.sk89q.guavabackport.util.concurrent.FutureCallback;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.util.paste.EngineHubPaste;
import org.bukkit.ChatColor;

View File

@ -19,8 +19,8 @@
package com.sk89q.worldguard.bukkit.commands;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@ -49,7 +49,7 @@ public class FutureProgressListener implements Runnable {
}
public static void addProgressListener(ListenableFuture<?> future, CommandSender sender, String message) {
future.addListener(new FutureProgressListener(sender, message), MoreExecutors.sameThreadExecutor());
future.addListener(new FutureProgressListener(sender, message), MoreExecutors.directExecutor());
}
}

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.bukkit.commands;
import com.sk89q.guavabackport.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.FutureCallback;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;

View File

@ -22,9 +22,9 @@ package com.sk89q.worldguard.bukkit.commands;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.io.Files;
import com.sk89q.guavabackport.util.concurrent.FutureCallback;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.MoreExecutors;
import com.sk89q.minecraft.util.commands.*;
import com.sk89q.worldguard.bukkit.ConfigurationManager;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
@ -204,7 +204,7 @@ public class WorldGuardCommands {
activeSampler = null;
}
}
}, MoreExecutors.sameThreadExecutor());
}, MoreExecutors.directExecutor());
Futures.addCallback(sampler.getFuture(), new FutureCallback<Sampler>() {
@Override

View File

@ -19,8 +19,8 @@
package com.sk89q.worldguard.bukkit.commands.region;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.minecraft.util.commands.Command;
import com.sk89q.minecraft.util.commands.CommandContext;
import com.sk89q.minecraft.util.commands.CommandException;

View File

@ -19,8 +19,8 @@
package com.sk89q.worldguard.bukkit.commands.region;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.minecraft.util.commands.Command;
import com.sk89q.minecraft.util.commands.CommandContext;
import com.sk89q.minecraft.util.commands.CommandException;
@ -72,7 +72,6 @@ import org.bukkit.entity.Player;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

View File

@ -918,12 +918,12 @@ public class EventAbstractionListener extends AbstractListener {
}
// Handle created armor stands
if (item != null && item.getType() == Materials.ARMOR_STAND) {
if (item != null && item.getType() == Material.ARMOR_STAND) {
Events.fireToCancel(event, new SpawnEntityEvent(event, cause, placed.getLocation().add(0.5, 0, 0.5), EntityType.ARMOR_STAND));
return;
}
if (item != null && item.getType() == Materials.END_CRYSTAL) { /*&& placed.getType() == Material.BEDROCK) {*/ // in vanilla you can only place them on bedrock but who knows what plugins will add
if (item != null && item.getType() == Material.END_CRYSTAL) { /*&& placed.getType() == Material.BEDROCK) {*/ // in vanilla you can only place them on bedrock but who knows what plugins will add
// may be overprotective as a result, but better than being underprotective
Events.fireToCancel(event, new SpawnEntityEvent(event, cause, placed.getLocation().add(0.5, 0, 0.5), EntityType.ENDER_CRYSTAL));
return;

View File

@ -46,37 +46,26 @@ public final class Materials {
private static final Map<Material, Integer> MATERIAL_FLAGS = new HashMap<Material, Integer>();
private static final Set<PotionEffectType> DAMAGE_EFFECTS = new HashSet<PotionEffectType>();
public static Material ARMOR_STAND;
public static Material END_CRYSTAL;
private static Set<Material> shulkerBoxes = new HashSet<>();
static {
try {
// for backwards compatible access to material enum
ARMOR_STAND = Material.ARMOR_STAND;
END_CRYSTAL = Material.END_CRYSTAL;
} catch (NoSuchFieldError ignored) {}
try {
shulkerBoxes.add(Material.WHITE_SHULKER_BOX);
shulkerBoxes.add(Material.ORANGE_SHULKER_BOX);
shulkerBoxes.add(Material.MAGENTA_SHULKER_BOX);
shulkerBoxes.add(Material.LIGHT_BLUE_SHULKER_BOX);
shulkerBoxes.add(Material.YELLOW_SHULKER_BOX);
shulkerBoxes.add(Material.LIME_SHULKER_BOX);
shulkerBoxes.add(Material.PINK_SHULKER_BOX);
shulkerBoxes.add(Material.GRAY_SHULKER_BOX);
shulkerBoxes.add(Material.SILVER_SHULKER_BOX); // who called this silver?
shulkerBoxes.add(Material.CYAN_SHULKER_BOX);
shulkerBoxes.add(Material.PURPLE_SHULKER_BOX);
shulkerBoxes.add(Material.BLUE_SHULKER_BOX);
shulkerBoxes.add(Material.BROWN_SHULKER_BOX);
shulkerBoxes.add(Material.GREEN_SHULKER_BOX);
shulkerBoxes.add(Material.RED_SHULKER_BOX);
shulkerBoxes.add(Material.BLACK_SHULKER_BOX);
} catch (NoSuchFieldError ignored) {
}
shulkerBoxes.add(Material.WHITE_SHULKER_BOX);
shulkerBoxes.add(Material.ORANGE_SHULKER_BOX);
shulkerBoxes.add(Material.MAGENTA_SHULKER_BOX);
shulkerBoxes.add(Material.LIGHT_BLUE_SHULKER_BOX);
shulkerBoxes.add(Material.YELLOW_SHULKER_BOX);
shulkerBoxes.add(Material.LIME_SHULKER_BOX);
shulkerBoxes.add(Material.PINK_SHULKER_BOX);
shulkerBoxes.add(Material.GRAY_SHULKER_BOX);
shulkerBoxes.add(Material.SILVER_SHULKER_BOX); // who called this silver?
shulkerBoxes.add(Material.CYAN_SHULKER_BOX);
shulkerBoxes.add(Material.PURPLE_SHULKER_BOX);
shulkerBoxes.add(Material.BLUE_SHULKER_BOX);
shulkerBoxes.add(Material.BROWN_SHULKER_BOX);
shulkerBoxes.add(Material.GREEN_SHULKER_BOX);
shulkerBoxes.add(Material.RED_SHULKER_BOX);
shulkerBoxes.add(Material.BLACK_SHULKER_BOX);
ENTITY_ITEMS.put(EntityType.PAINTING, Material.PAINTING);
ENTITY_ITEMS.put(EntityType.ARROW, Material.ARROW);
@ -97,9 +86,7 @@ public final class Materials {
ENTITY_ITEMS.put(EntityType.MINECART_HOPPER, Material.HOPPER_MINECART);
ENTITY_ITEMS.put(EntityType.SPLASH_POTION, Material.POTION);
ENTITY_ITEMS.put(EntityType.EGG, Material.EGG);
try {
ENTITY_ITEMS.put(EntityType.ARMOR_STAND, Material.ARMOR_STAND);
} catch (NoSuchFieldError ignored) {}
ENTITY_ITEMS.put(EntityType.ARMOR_STAND, Material.ARMOR_STAND);
MATERIAL_FLAGS.put(Material.AIR, 0);
MATERIAL_FLAGS.put(Material.STONE, 0);
@ -272,65 +259,79 @@ public final class Materials {
MATERIAL_FLAGS.put(Material.COAL_BLOCK, 0);
MATERIAL_FLAGS.put(Material.PACKED_ICE, 0);
MATERIAL_FLAGS.put(Material.DOUBLE_PLANT, 0);
try {
MATERIAL_FLAGS.put(Material.PRISMARINE, 0);
MATERIAL_FLAGS.put(Material.SEA_LANTERN, 0);
MATERIAL_FLAGS.put(Material.SLIME_BLOCK, 0);
MATERIAL_FLAGS.put(Material.IRON_TRAPDOOR, 0);
MATERIAL_FLAGS.put(Material.STANDING_BANNER, 0);
MATERIAL_FLAGS.put(Material.WALL_BANNER, 0);
MATERIAL_FLAGS.put(Material.DAYLIGHT_DETECTOR_INVERTED, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.RED_SANDSTONE, 0);
MATERIAL_FLAGS.put(Material.RED_SANDSTONE_STAIRS, 0);
MATERIAL_FLAGS.put(Material.DOUBLE_STONE_SLAB2, 0);
MATERIAL_FLAGS.put(Material.STONE_SLAB2, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.BIRCH_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.JUNGLE_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.DARK_OAK_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.ACACIA_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.SPRUCE_FENCE, 0);
MATERIAL_FLAGS.put(Material.BIRCH_FENCE, 0);
MATERIAL_FLAGS.put(Material.JUNGLE_FENCE, 0);
MATERIAL_FLAGS.put(Material.DARK_OAK_FENCE, 0);
MATERIAL_FLAGS.put(Material.ACACIA_FENCE, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.BIRCH_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.JUNGLE_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.ACACIA_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.DARK_OAK_DOOR, MODIFIED_ON_RIGHT);
} catch (NoSuchFieldError ignored) {
}
try {
MATERIAL_FLAGS.put(Material.GRASS_PATH, 0);
MATERIAL_FLAGS.put(Material.CHORUS_PLANT, 0);
MATERIAL_FLAGS.put(Material.CHORUS_FLOWER, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_BLOCK, 0);
MATERIAL_FLAGS.put(Material.END_ROD, 0);
MATERIAL_FLAGS.put(Material.END_BRICKS, 0);
MATERIAL_FLAGS.put(Material.END_GATEWAY, 0);
MATERIAL_FLAGS.put(Material.FROSTED_ICE, 0);
MATERIAL_FLAGS.put(Material.GRASS_PATH, 0);
MATERIAL_FLAGS.put(Material.PURPUR_BLOCK, 0);
MATERIAL_FLAGS.put(Material.PURPUR_STAIRS, 0);
MATERIAL_FLAGS.put(Material.PURPUR_PILLAR, 0);
MATERIAL_FLAGS.put(Material.PURPUR_SLAB, 0);
MATERIAL_FLAGS.put(Material.STRUCTURE_BLOCK, MODIFIED_ON_LEFT | MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.COMMAND_REPEATING, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.COMMAND_CHAIN , MODIFIED_ON_RIGHT);
} catch (NoSuchFieldError ignored) {
}
try { // 1.10
MATERIAL_FLAGS.put(Material.MAGMA, 0);
MATERIAL_FLAGS.put(Material.NETHER_WART_BLOCK, 0);
MATERIAL_FLAGS.put(Material.RED_NETHER_BRICK, 0);
MATERIAL_FLAGS.put(Material.BONE_BLOCK, 0);
MATERIAL_FLAGS.put(Material.STRUCTURE_VOID, 0);
} catch (NoSuchFieldError ignored) {
}
MATERIAL_FLAGS.put(Material.PRISMARINE, 0);
MATERIAL_FLAGS.put(Material.SEA_LANTERN, 0);
MATERIAL_FLAGS.put(Material.SLIME_BLOCK, 0);
MATERIAL_FLAGS.put(Material.IRON_TRAPDOOR, 0);
MATERIAL_FLAGS.put(Material.STANDING_BANNER, 0);
MATERIAL_FLAGS.put(Material.WALL_BANNER, 0);
MATERIAL_FLAGS.put(Material.DAYLIGHT_DETECTOR_INVERTED, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.RED_SANDSTONE, 0);
MATERIAL_FLAGS.put(Material.RED_SANDSTONE_STAIRS, 0);
MATERIAL_FLAGS.put(Material.DOUBLE_STONE_SLAB2, 0);
MATERIAL_FLAGS.put(Material.STONE_SLAB2, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.BIRCH_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.JUNGLE_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.DARK_OAK_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.ACACIA_FENCE_GATE, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.SPRUCE_FENCE, 0);
MATERIAL_FLAGS.put(Material.BIRCH_FENCE, 0);
MATERIAL_FLAGS.put(Material.JUNGLE_FENCE, 0);
MATERIAL_FLAGS.put(Material.DARK_OAK_FENCE, 0);
MATERIAL_FLAGS.put(Material.ACACIA_FENCE, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.BIRCH_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.JUNGLE_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.ACACIA_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.DARK_OAK_DOOR, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.GRASS_PATH, 0);
MATERIAL_FLAGS.put(Material.CHORUS_PLANT, 0);
MATERIAL_FLAGS.put(Material.CHORUS_FLOWER, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_BLOCK, 0);
MATERIAL_FLAGS.put(Material.END_ROD, 0);
MATERIAL_FLAGS.put(Material.END_BRICKS, 0);
MATERIAL_FLAGS.put(Material.END_GATEWAY, 0);
MATERIAL_FLAGS.put(Material.FROSTED_ICE, 0);
MATERIAL_FLAGS.put(Material.GRASS_PATH, 0);
MATERIAL_FLAGS.put(Material.PURPUR_BLOCK, 0);
MATERIAL_FLAGS.put(Material.PURPUR_STAIRS, 0);
MATERIAL_FLAGS.put(Material.PURPUR_PILLAR, 0);
MATERIAL_FLAGS.put(Material.PURPUR_SLAB, 0);
MATERIAL_FLAGS.put(Material.STRUCTURE_BLOCK, MODIFIED_ON_LEFT | MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.COMMAND_REPEATING, MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.COMMAND_CHAIN , MODIFIED_ON_RIGHT);
MATERIAL_FLAGS.put(Material.MAGMA, 0);
MATERIAL_FLAGS.put(Material.NETHER_WART_BLOCK, 0);
MATERIAL_FLAGS.put(Material.RED_NETHER_BRICK, 0);
MATERIAL_FLAGS.put(Material.BONE_BLOCK, 0);
MATERIAL_FLAGS.put(Material.STRUCTURE_VOID, 0);
for (Material m : shulkerBoxes) {
MATERIAL_FLAGS.put(m, MODIFIED_ON_RIGHT);
}
// 1.12
MATERIAL_FLAGS.put(Material.CONCRETE, 0);
MATERIAL_FLAGS.put(Material.CONCRETE_POWDER, 0);
MATERIAL_FLAGS.put(Material.WHITE_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.ORANGE_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.MAGENTA_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.LIGHT_BLUE_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.YELLOW_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.LIME_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.PINK_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.GRAY_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.SILVER_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.CYAN_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.PURPLE_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.BLUE_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.BROWN_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.GREEN_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.RED_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.BLACK_GLAZED_TERRACOTTA, 0);
MATERIAL_FLAGS.put(Material.IRON_SPADE, MODIFIES_BLOCKS);
MATERIAL_FLAGS.put(Material.IRON_PICKAXE, 0);
@ -491,52 +492,48 @@ public final class Materials {
MATERIAL_FLAGS.put(Material.LEASH, 0);
MATERIAL_FLAGS.put(Material.NAME_TAG, 0);
MATERIAL_FLAGS.put(Material.COMMAND_MINECART, 0);
try { // 1.8
MATERIAL_FLAGS.put(Material.PRISMARINE_SHARD, 0);
MATERIAL_FLAGS.put(Material.PRISMARINE_CRYSTALS, 0);
MATERIAL_FLAGS.put(Material.RABBIT, 0);
MATERIAL_FLAGS.put(Material.COOKED_RABBIT, 0);
MATERIAL_FLAGS.put(Material.RABBIT_STEW, 0);
MATERIAL_FLAGS.put(Material.RABBIT_FOOT, 0);
MATERIAL_FLAGS.put(Material.RABBIT_HIDE, 0);
MATERIAL_FLAGS.put(Material.ARMOR_STAND, 0);
MATERIAL_FLAGS.put(Material.IRON_BARDING, 0);
MATERIAL_FLAGS.put(Material.GOLD_BARDING, 0);
MATERIAL_FLAGS.put(Material.DIAMOND_BARDING, 0);;
MATERIAL_FLAGS.put(Material.MUTTON, 0);
MATERIAL_FLAGS.put(Material.COOKED_MUTTON, 0);
MATERIAL_FLAGS.put(Material.BANNER, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.BIRCH_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.JUNGLE_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.ACACIA_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.DARK_OAK_DOOR_ITEM, 0);
} catch (NoSuchFieldError ignored) {
}
try { // 1.9 + 1.10 (oops)
MATERIAL_FLAGS.put(Material.BOAT_SPRUCE, 0);
MATERIAL_FLAGS.put(Material.BOAT_BIRCH, 0);
MATERIAL_FLAGS.put(Material.BOAT_ACACIA, 0);
MATERIAL_FLAGS.put(Material.BOAT_DARK_OAK, 0);
MATERIAL_FLAGS.put(Material.BEETROOT, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_SOUP, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_SEEDS, MODIFIES_BLOCKS);
MATERIAL_FLAGS.put(Material.CHORUS_FRUIT, 0);
MATERIAL_FLAGS.put(Material.CHORUS_FRUIT_POPPED, 0);
MATERIAL_FLAGS.put(Material.SHIELD, 0);
MATERIAL_FLAGS.put(Material.SPECTRAL_ARROW, 0);
MATERIAL_FLAGS.put(Material.TIPPED_ARROW, 0);
MATERIAL_FLAGS.put(Material.DRAGONS_BREATH, 0);
MATERIAL_FLAGS.put(Material.LINGERING_POTION, 0);
MATERIAL_FLAGS.put(Material.ELYTRA, 0);
MATERIAL_FLAGS.put(Material.END_CRYSTAL, 0);
} catch (NoSuchFieldError ignored) {
}
try { // 1.11
MATERIAL_FLAGS.put(Material.TOTEM, 0);
MATERIAL_FLAGS.put(Material.SHULKER_SHELL, 0);
} catch (NoSuchFieldError ignored) {
}
MATERIAL_FLAGS.put(Material.PRISMARINE_SHARD, 0);
MATERIAL_FLAGS.put(Material.PRISMARINE_CRYSTALS, 0);
MATERIAL_FLAGS.put(Material.RABBIT, 0);
MATERIAL_FLAGS.put(Material.COOKED_RABBIT, 0);
MATERIAL_FLAGS.put(Material.RABBIT_STEW, 0);
MATERIAL_FLAGS.put(Material.RABBIT_FOOT, 0);
MATERIAL_FLAGS.put(Material.RABBIT_HIDE, 0);
MATERIAL_FLAGS.put(Material.ARMOR_STAND, 0);
MATERIAL_FLAGS.put(Material.IRON_BARDING, 0);
MATERIAL_FLAGS.put(Material.GOLD_BARDING, 0);
MATERIAL_FLAGS.put(Material.DIAMOND_BARDING, 0);;
MATERIAL_FLAGS.put(Material.MUTTON, 0);
MATERIAL_FLAGS.put(Material.COOKED_MUTTON, 0);
MATERIAL_FLAGS.put(Material.BANNER, 0);
MATERIAL_FLAGS.put(Material.SPRUCE_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.BIRCH_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.JUNGLE_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.ACACIA_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.DARK_OAK_DOOR_ITEM, 0);
MATERIAL_FLAGS.put(Material.BOAT_SPRUCE, 0);
MATERIAL_FLAGS.put(Material.BOAT_BIRCH, 0);
MATERIAL_FLAGS.put(Material.BOAT_ACACIA, 0);
MATERIAL_FLAGS.put(Material.BOAT_DARK_OAK, 0);
MATERIAL_FLAGS.put(Material.BEETROOT, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_SOUP, 0);
MATERIAL_FLAGS.put(Material.BEETROOT_SEEDS, MODIFIES_BLOCKS);
MATERIAL_FLAGS.put(Material.CHORUS_FRUIT, 0);
MATERIAL_FLAGS.put(Material.CHORUS_FRUIT_POPPED, 0);
MATERIAL_FLAGS.put(Material.SHIELD, 0);
MATERIAL_FLAGS.put(Material.SPECTRAL_ARROW, 0);
MATERIAL_FLAGS.put(Material.TIPPED_ARROW, 0);
MATERIAL_FLAGS.put(Material.DRAGONS_BREATH, 0);
MATERIAL_FLAGS.put(Material.LINGERING_POTION, 0);
MATERIAL_FLAGS.put(Material.ELYTRA, 0);
MATERIAL_FLAGS.put(Material.END_CRYSTAL, 0);
MATERIAL_FLAGS.put(Material.TOTEM, 0);
MATERIAL_FLAGS.put(Material.SHULKER_SHELL, 0);
MATERIAL_FLAGS.put(Material.KNOWLEDGE_BOOK, 0);
MATERIAL_FLAGS.put(Material.GOLD_RECORD, 0);
MATERIAL_FLAGS.put(Material.GREEN_RECORD, 0);
MATERIAL_FLAGS.put(Material.RECORD_3, 0);
@ -574,11 +571,9 @@ public final class Materials {
DAMAGE_EFFECTS.add(PotionEffectType.WEAKNESS);
DAMAGE_EFFECTS.add(PotionEffectType.WITHER);
try {
DAMAGE_EFFECTS.add(PotionEffectType.LEVITATION); // considered by game so I guess
DAMAGE_EFFECTS.add(PotionEffectType.UNLUCK);
} catch (NoSuchFieldError ignored) {
}
DAMAGE_EFFECTS.add(PotionEffectType.LEVITATION); // considered by game so I guess
DAMAGE_EFFECTS.add(PotionEffectType.UNLUCK);
}
private Materials() {
@ -737,16 +732,12 @@ public final class Materials {
* @return true if a Boat item
*/
public static boolean isBoat(Material material) {
try {
return material == Material.BOAT
|| material == Material.BOAT_ACACIA
|| material == Material.BOAT_SPRUCE
|| material == Material.BOAT_DARK_OAK
|| material == Material.BOAT_JUNGLE
|| material == Material.BOAT_BIRCH;
} catch (NoSuchFieldError ignored) {
return material == Material.BOAT;
}
}
/**

View File

@ -38,7 +38,14 @@ import com.sk89q.worldguard.protection.util.RegionCollectionConsumer;
import com.sk89q.worldguard.util.Normal;
import javax.annotation.Nullable;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;

View File

@ -21,8 +21,8 @@ package com.sk89q.worldguard.protection.managers.index;
import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.sk89q.guavabackport.util.concurrent.ListeningExecutorService;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import com.sk89q.worldguard.util.concurrent.EvenMoreExecutors;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.paste;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.util.net.HttpRequest;
import com.sk89q.worldguard.util.net.HttpRequest.Form;
import org.json.simple.JSONValue;

View File

@ -19,9 +19,7 @@
package com.sk89q.worldguard.util.paste;
import com.sk89q.guavabackport.util.concurrent.FutureCallback;
import com.sk89q.guavabackport.util.concurrent.Futures;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.util.net.HttpRequest;
import com.sk89q.worldguard.util.net.HttpRequest.Form;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.paste;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import java.net.URL;

View File

@ -19,8 +19,8 @@
package com.sk89q.worldguard.util.paste;
import com.sk89q.guavabackport.util.concurrent.ListeningExecutorService;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.ListeningExecutorService;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;

View File

@ -21,8 +21,8 @@ package com.sk89q.worldguard.util.profiler;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.sk89q.guavabackport.util.concurrent.SettableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.SettableFuture;
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadInfo;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.task;
import com.sk89q.guavabackport.util.concurrent.AbstractFuture;
import com.google.common.util.concurrent.AbstractFuture;
import javax.annotation.Nullable;
import java.util.Date;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.task;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.util.task.progress.Progress;
import javax.annotation.Nullable;

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.task;
import com.sk89q.guavabackport.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.MoreExecutors;
import java.util.ArrayList;
import java.util.List;
@ -56,7 +56,7 @@ public class SimpleSupervisor implements Supervisor {
monitored.remove(task);
}
}
}, MoreExecutors.sameThreadExecutor());
}, MoreExecutors.directExecutor());
}
}

View File

@ -19,7 +19,7 @@
package com.sk89q.worldguard.util.task;
import com.sk89q.guavabackport.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.ListenableFuture;
import com.sk89q.worldguard.util.task.progress.ProgressObservable;
import javax.annotation.Nullable;