Update to Minecraft 1.14.3-pre4

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2019-06-21 20:00:00 +10:00
parent 0297d9de8a
commit a8155d2399
109 changed files with 660 additions and 622 deletions

View File

@@ -1105,7 +1105,7 @@ public final class CraftServer implements Server {
@Override
public void resetRecipes() {
console.getCraftingManager().a(console.getResourceManager());
// throw new UnsupportedOperationException("Not supported yet.");
}
@Override
@@ -1772,7 +1772,7 @@ public final class CraftServer implements Server {
@Override
public Iterator<org.bukkit.advancement.Advancement> advancementIterator() {
return Iterators.unmodifiableIterator(Iterators.transform(console.getAdvancementData().b().iterator(), new Function<Advancement, org.bukkit.advancement.Advancement>() { // PAIL: rename
return Iterators.unmodifiableIterator(Iterators.transform(console.getAdvancementData().a().iterator(), new Function<Advancement, org.bukkit.advancement.Advancement>() { // PAIL: rename
@Override
public org.bukkit.advancement.Advancement apply(Advancement advancement) {
return advancement.bukkit;
@@ -1839,12 +1839,12 @@ public final class CraftServer implements Server {
Preconditions.checkArgument(clazz == org.bukkit.Material.class, "Block namespace must have material type");
TagsServer<Block> blockTags = console.getTagRegistry().a(); // PAIL: getBlockTags
return blockTags.c().keySet().stream().map(key -> (org.bukkit.Tag<T>) new CraftBlockTag(blockTags, key)).collect(ImmutableList.toImmutableList());
return blockTags.b().keySet().stream().map(key -> (org.bukkit.Tag<T>) new CraftBlockTag(blockTags, key)).collect(ImmutableList.toImmutableList());
case org.bukkit.Tag.REGISTRY_ITEMS:
Preconditions.checkArgument(clazz == org.bukkit.Material.class, "Item namespace must have material type");
TagsServer<Item> itemTags = console.getTagRegistry().b(); // PAIL: getItemTags
return itemTags.c().keySet().stream().map(key -> (org.bukkit.Tag<T>) new CraftItemTag(itemTags, key)).collect(ImmutableList.toImmutableList());
return itemTags.b().keySet().stream().map(key -> (org.bukkit.Tag<T>) new CraftItemTag(itemTags, key)).collect(ImmutableList.toImmutableList());
default:
throw new IllegalArgumentException();
}

View File

@@ -7,9 +7,11 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
import java.util.Set;
@@ -80,9 +82,6 @@ import net.minecraft.server.Vec3D;
import net.minecraft.server.WorldGenFeatureEmptyConfiguration;
import net.minecraft.server.WorldGenerator;
import net.minecraft.server.WorldNBTStorage;
import net.minecraft.server.WorldProviderHell;
import net.minecraft.server.WorldProviderNormal;
import net.minecraft.server.WorldProviderTheEnd;
import net.minecraft.server.WorldServer;
import org.apache.commons.lang.Validate;
import org.bukkit.BlockChangeDelegate;
@@ -702,7 +701,7 @@ public class CraftWorld implements World {
CraftPlayer cp = (CraftPlayer) p;
if (cp.getHandle().playerConnection == null) continue;
cp.getHandle().playerConnection.sendPacket(new PacketPlayOutUpdateTime(cp.getHandle().world.getTime(), cp.getHandle().getPlayerTime(), cp.getHandle().world.getGameRules().getBoolean("doDaylightCycle")));
cp.getHandle().playerConnection.sendPacket(new PacketPlayOutUpdateTime(cp.getHandle().world.getTime(), cp.getHandle().getPlayerTime(), cp.getHandle().world.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE)));
}
}
@@ -1853,6 +1852,40 @@ public class CraftWorld implements World {
world.getMinecraftServer().getPlayerList().sendPacketNearby(null, x, y, z, volume > 1.0F ? 16.0F * volume : 16.0D, this.world.getWorldProvider().getDimensionManager(), packet);
}
private static Map<String, GameRules.GameRuleKey<?>> gamerules;
public static synchronized Map<String, GameRules.GameRuleKey<?>> getGameRulesNMS() {
if (gamerules != null) {
return gamerules;
}
Map<String, GameRules.GameRuleKey<?>> gamerules = new HashMap<>();
GameRules.a(new GameRules.GameRuleVisitor() {
@Override
public <T extends GameRules.GameRuleValue<T>> void a(GameRules.GameRuleKey<T> gamerules_gamerulekey, GameRules.GameRuleDefinition<T> gamerules_gameruledefinition) {
gamerules.put(gamerules_gamerulekey.a(), gamerules_gamerulekey);
}
});
return CraftWorld.gamerules = gamerules;
}
private static Map<String, GameRules.GameRuleDefinition<?>> gameruleDefinitions;
public static synchronized Map<String, GameRules.GameRuleDefinition<?>> getGameRuleDefinitions() {
if (gameruleDefinitions != null) {
return gameruleDefinitions;
}
Map<String, GameRules.GameRuleDefinition<?>> gameruleDefinitions = new HashMap<>();
GameRules.a(new GameRules.GameRuleVisitor() {
@Override
public <T extends GameRules.GameRuleValue<T>> void a(GameRules.GameRuleKey<T> gamerules_gamerulekey, GameRules.GameRuleDefinition<T> gamerules_gameruledefinition) {
gameruleDefinitions.put(gamerules_gamerulekey.a(), gamerules_gameruledefinition);
}
});
return CraftWorld.gameruleDefinitions = gameruleDefinitions;
}
@Override
public String getGameRuleValue(String rule) {
// In method contract for some reason
@@ -1860,8 +1893,8 @@ public class CraftWorld implements World {
return null;
}
GameRules.GameRuleValue value = getHandle().getGameRules().get(rule);
return value != null ? value.getValue() : "";
GameRules.GameRuleValue<?> value = getHandle().getGameRules().get(getGameRulesNMS().get(rule));
return value != null ? value.toString() : "";
}
@Override
@@ -1871,31 +1904,31 @@ public class CraftWorld implements World {
if (!isGameRule(rule)) return false;
getHandle().getGameRules().set(rule, value, getHandle().getMinecraftServer());
getHandle().getGameRules().get(getGameRulesNMS().get(rule)).b(null, value);
return true;
}
@Override
public String[] getGameRules() {
return GameRules.getGameRules().keySet().toArray(new String[GameRules.getGameRules().size()]);
return getGameRulesNMS().keySet().toArray(new String[getGameRulesNMS().size()]);
}
@Override
public boolean isGameRule(String rule) {
Validate.isTrue(rule != null && !rule.isEmpty(), "Rule cannot be null nor empty");
return GameRules.getGameRules().containsKey(rule);
return getGameRulesNMS().containsKey(rule);
}
@Override
public <T> T getGameRuleValue(GameRule<T> rule) {
Validate.notNull(rule, "GameRule cannot be null");
return convert(rule, getHandle().getGameRules().get(rule.getName()));
return convert(rule, getHandle().getGameRules().get(getGameRulesNMS().get(rule.getName())));
}
@Override
public <T> T getGameRuleDefault(GameRule<T> rule) {
Validate.notNull(rule, "GameRule cannot be null");
return convert(rule, GameRules.getGameRules().get(rule.getName()).a());
return convert(rule, getGameRuleDefinitions().get(rule.getName()).a());
}
@Override
@@ -1905,22 +1938,21 @@ public class CraftWorld implements World {
if (!isGameRule(rule.getName())) return false;
getHandle().getGameRules().set(rule.getName(), newValue.toString(), getHandle().getMinecraftServer());
getHandle().getGameRules().get(getGameRulesNMS().get(rule.getName())).b(null, newValue.toString());
return true;
}
private <T> T convert(GameRule<T> rule, GameRules.GameRuleValue value) {
private <T> T convert(GameRule<T> rule, GameRules.GameRuleValue<?> value) {
if (value == null) {
return null;
}
switch (value.getType()) {
case BOOLEAN_VALUE:
return rule.getType().cast(value.getBooleanValue());
case NUMERICAL_VALUE:
return rule.getType().cast(value.getIntValue());
default:
throw new IllegalArgumentException("Invalid GameRule type (" + value.getType() + ") for GameRule " + rule.getName());
if (value instanceof GameRules.GameRuleBoolean) {
return rule.getType().cast(((GameRules.GameRuleBoolean) value).a());
} else if (value instanceof GameRules.GameRuleInt) {
return rule.getType().cast(value.getIntValue());
} else {
throw new IllegalArgumentException("Invalid GameRule type (" + value + ") for GameRule " + rule.getName());
}
}

View File

@@ -177,7 +177,7 @@ public class Main {
useConsole = false;
}
if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
Date buildDate = new SimpleDateFormat("yyyyMMdd-HHmm").parse(Main.class.getPackage().getImplementationVendor());
Calendar deadline = Calendar.getInstance();

View File

@@ -66,12 +66,12 @@ public class CraftCreeper extends CraftMonster implements Creeper {
@Override
public void explode() {
getHandle().eb();
getHandle().explode();
}
@Override
public void ignite() {
getHandle().dY(); // PAIL rename ignite
getHandle().ignite();
}
@Override

View File

@@ -26,7 +26,7 @@ public class CraftHanging extends CraftEntity implements Hanging {
@Override
public boolean setFacingDirection(BlockFace face, boolean force) {
EntityHanging hanging = getHandle();
EnumDirection dir = hanging.direction;
EnumDirection dir = hanging.getDirection();
switch (face) {
case SOUTH:
default:
@@ -52,7 +52,7 @@ public class CraftHanging extends CraftEntity implements Hanging {
@Override
public BlockFace getFacing() {
EnumDirection direction = this.getHandle().direction;
EnumDirection direction = this.getHandle().getDirection();
if (direction == null) return BlockFace.SELF;
return CraftBlock.notchToBlockFace(direction);
}

View File

@@ -24,7 +24,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
@Override
public boolean setFacingDirection(BlockFace face, boolean force) {
EntityHanging hanging = getHandle();
EnumDirection oldDir = hanging.direction;
EnumDirection oldDir = hanging.getDirection();
EnumDirection newDir = CraftBlock.blockFaceToNotch(face);
getHandle().setDirection(newDir);

View File

@@ -34,11 +34,11 @@ public class CraftPainting extends CraftHanging implements Painting {
EntityPainting painting = this.getHandle();
Paintings oldArt = painting.art;
painting.art = CraftArt.BukkitToNotch(art);
painting.setDirection(painting.direction);
painting.setDirection(painting.getDirection());
if (!force && !painting.survives()) {
// Revert painting since it doesn't fit
painting.art = oldArt;
painting.setDirection(painting.direction);
painting.setDirection(painting.getDirection());
return false;
}
this.update();
@@ -60,7 +60,7 @@ public class CraftPainting extends CraftHanging implements Painting {
EntityPainting painting = EntityTypes.PAINTING.a(world);
painting.blockPosition = getHandle().blockPosition;
painting.art = getHandle().art;
painting.setDirection(getHandle().direction);
painting.setDirection(getHandle().getDirection());
getHandle().die();
getHandle().velocityChanged = true; // because this occurs when the painting is broken, so it might be important
world.addEntity(painting);

View File

@@ -26,6 +26,8 @@ public final class CraftMemoryMapper {
return null;
} else if (object instanceof Location) {
return toNms((Location) object);
} else if (object instanceof Long) {
return object;
}
throw new UnsupportedOperationException("Do not know how to map " + object);

View File

@@ -90,16 +90,16 @@ public class CraftMerchantCustom extends CraftMerchant {
}
@Override
public void r(int i) {
public void s(int i) {
}
@Override
public boolean ea() {
public boolean eb() {
return true;
}
@Override
public SoundEffect eb() {
public SoundEffect ec() {
return SoundEffects.ENTITY_VILLAGER_YES;
}
}

View File

@@ -186,7 +186,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
* @return string
*/
public String getMappingsVersion() {
return "df689a0f36ee29c2b2f456da8803f74d";
return "5b8c1c16444f2e8e58ec6c42af14ebaa";
}
@Override
@@ -217,7 +217,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
net.minecraft.server.Advancement.SerializedAdvancement nms = (net.minecraft.server.Advancement.SerializedAdvancement) ChatDeserializer.a(AdvancementDataWorld.DESERIALIZER, advancement, net.minecraft.server.Advancement.SerializedAdvancement.class);
if (nms != null) {
AdvancementDataWorld.REGISTRY.a(Maps.newHashMap(Collections.singletonMap(CraftNamespacedKey.toMinecraft(key), nms)));
MinecraftServer.getServer().getAdvancementData().REGISTRY.a(Maps.newHashMap(Collections.singletonMap(CraftNamespacedKey.toMinecraft(key), nms)));
Advancement bukkit = Bukkit.getAdvancement(key);
if (bukkit != null) {