diff --git a/build-data/paper.at b/build-data/paper.at index 709f3c01aa..2779d00d8c 100644 --- a/build-data/paper.at +++ b/build-data/paper.at @@ -202,3 +202,6 @@ public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I # Implement an API for CanPlaceOn and CanDestroy NBT values public net.minecraft.commands.arguments.blocks.BlockStateParser id + +# Villager Restock API +public net.minecraft.world.entity.npc.Villager numberOfRestocksToday diff --git a/patches/server/Add-a-way-to-get-translation-keys-for-blocks-entitie.patch b/patches/server/Add-a-way-to-get-translation-keys-for-blocks-entitie.patch index e35ab63baf..99ba4f06ff 100644 --- a/patches/server/Add-a-way-to-get-translation-keys-for-blocks-entitie.patch +++ b/patches/server/Add-a-way-to-get-translation-keys-for-blocks-entitie.patch @@ -5,18 +5,6 @@ Subject: [PATCH] Add a way to get translation keys for blocks, entities and materials -diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/world/entity/EntityType.java -+++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -0,0 +0,0 @@ public class EntityType implements EntityTypeTest { - return Registry.ENTITY_TYPE.getKey(type); - } - -+ @Deprecated public static Optional> getByName(String name) { return byString(name); } // Paper - OBFHELPER - public static Optional> byString(String id) { - return Registry.ENTITY_TYPE.getOptional(ResourceLocation.tryParse(id)); - } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -64,7 +52,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + + @Override + public String getTranslationKey(org.bukkit.entity.EntityType type) { -+ return net.minecraft.world.entity.EntityType.getByName(type.getName()).map(net.minecraft.world.entity.EntityType::getDescriptionId).orElse(null); ++ return net.minecraft.world.entity.EntityType.byString(type.getName()).map(net.minecraft.world.entity.EntityType::getDescriptionId).orElse(null); + } + + @Override diff --git a/patches/server/Add-villager-reputation-API.patch b/patches/server/Add-villager-reputation-API.patch index 40b1fc8d6f..d52bc02ab6 100644 --- a/patches/server/Add-villager-reputation-API.patch +++ b/patches/server/Add-villager-reputation-API.patch @@ -61,18 +61,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } static class GossipEntry { -diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/world/entity/npc/Villager.java -+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -0,0 +0,0 @@ public class Villager extends AbstractVillager implements ReputationEventHandler - this.numberOfRestocksToday = 0; - } - -+ @Deprecated public GossipContainer getReputation() { return this.getGossips(); } // Paper - OBFHELPER - public GossipContainer getGossips() { - return this.gossips; - } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java @@ -99,7 +87,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper start - Add villager reputation API + @Override + public Reputation getReputation(UUID uniqueId) { -+ net.minecraft.world.entity.ai.gossip.GossipContainer.EntityGossips rep = getHandle().getReputation().getReputations().get(uniqueId); ++ net.minecraft.world.entity.ai.gossip.GossipContainer.EntityGossips rep = getHandle().getGossips().getReputations().get(uniqueId); + if (rep == null) { + return new Reputation(Maps.newHashMap()); + } @@ -109,7 +97,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + + @Override + public Map getReputations() { -+ return getHandle().getReputation().getReputations().entrySet() ++ return getHandle().getGossips().getReputations().entrySet() + .stream() + .collect(java.util.stream.Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().getPaperReputation())); + } @@ -117,7 +105,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + @Override + public void setReputation(UUID uniqueId, Reputation reputation) { + net.minecraft.world.entity.ai.gossip.GossipContainer.EntityGossips nmsReputation = -+ getHandle().getReputation().getReputations().computeIfAbsent( ++ getHandle().getGossips().getReputations().computeIfAbsent( + uniqueId, + key -> new net.minecraft.world.entity.ai.gossip.GossipContainer.EntityGossips() + ); @@ -133,7 +121,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + + @Override + public void clearReputations() { -+ getHandle().getReputation().getReputations().clear(); ++ getHandle().getGossips().getReputations().clear(); + } + // Paper end } diff --git a/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch index 9e454e1101..a7b87e482c 100644 --- a/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch +++ b/patches/server/Ensure-EntityRaider-respects-game-and-entity-rules-f.patch @@ -11,18 +11,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -0,0 +0,0 @@ public abstract class Raider extends PatrollingMonster { - public class ObtainRaidLeaderBannerGoal extends Goal { - -- private final T mob; -+ private final T mob; @Deprecated private T getRaider() { return mob; } // Paper - obfhelper - - public ObtainRaidLeaderBannerGoal(T entityraider) { // CraftBukkit - decompile error - this.mob = entityraider; -@@ -0,0 +0,0 @@ public abstract class Raider extends PatrollingMonster { - @Override public boolean canUse() { -+ if (!getRaider().level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || !getRaider().canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items ++ if (!this.mob.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || !this.mob.canPickUpLoot()) return false; // Paper - respect game and entity rules for picking up items Raid raid = this.mob.getCurrentRaid(); if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) { diff --git a/patches/server/Entity-load-save-limit-per-chunk.patch b/patches/server/Entity-load-save-limit-per-chunk.patch index 32bee0a40f..2550ae6663 100644 --- a/patches/server/Entity-load-save-limit-per-chunk.patch +++ b/patches/server/Entity-load-save-limit-per-chunk.patch @@ -36,7 +36,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + getInt("entity-per-chunk-save-limit.ender_pearl", -1); + getInt("entity-per-chunk-save-limit.arrow", -1); + EntityType.getEntityNameList().forEach(name -> { -+ final EntityType type = EntityType.getByName(name.getPath()).orElseThrow(() -> new IllegalStateException("Unknown Entity Type: " + name.toString())); ++ final EntityType type = EntityType.byString(name.getPath()).orElseThrow(() -> new IllegalStateException("Unknown Entity Type: " + name.toString())); + final String path = ".entity-per-chunk-save-limit." + name.getPath(); + final int value = config.getInt("world-settings." + worldName + path, config.getInt("world-settings.default" + path, -1)); // get without setting defaults + if (value != -1) entityPerChunkSaveLimits.put(type, value); diff --git a/patches/server/Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/Fix-curing-zombie-villager-discount-exploit.patch index 17d300c0b1..62d54fdbf6 100644 --- a/patches/server/Fix-curing-zombie-villager-discount-exploit.patch +++ b/patches/server/Fix-curing-zombie-villager-discount-exploit.patch @@ -33,7 +33,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 if (interaction == ReputationEventType.ZOMBIE_VILLAGER_CURED) { + // Paper start - fix MC-181190 + if (level.paperConfig.fixCuringZombieVillagerDiscountExploit) { -+ final GossipContainer.EntityGossips playerReputation = this.getReputation().getReputations().get(entity.getUUID()); ++ final GossipContainer.EntityGossips playerReputation = this.getGossips().getReputations().get(entity.getUUID()); + if (playerReputation != null) { + playerReputation.remove(GossipType.MAJOR_POSITIVE); + playerReputation.remove(GossipType.MINOR_POSITIVE); diff --git a/patches/server/Fix-some-rails-connecting-improperly.patch b/patches/server/Fix-some-rails-connecting-improperly.patch index 172074456c..b020b21597 100644 --- a/patches/server/Fix-some-rails-connecting-improperly.patch +++ b/patches/server/Fix-some-rails-connecting-improperly.patch @@ -32,23 +32,13 @@ diff --git a/src/main/java/net/minecraft/world/level/block/RailState.java b/src/ index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/level/block/RailState.java +++ b/src/main/java/net/minecraft/world/level/block/RailState.java -@@ -0,0 +0,0 @@ import net.minecraft.world.level.block.state.BlockState; - import net.minecraft.world.level.block.state.properties.RailShape; - - public class RailState { -- private final Level level; -- private final BlockPos pos; -+ private final Level level; @Deprecated public final Level getWorld() { return this.level; } // Paper - OBFHELPER -+ private final BlockPos pos; @Deprecated public final BlockPos getPos() { return this.pos; } // Paper - OBFHELPER - private final BaseRailBlock block; -- private BlockState state; -+ private BlockState state; @Deprecated public final BlockState getRailState() { return this.state; } // Paper - OBFHELPER +@@ -0,0 +0,0 @@ public class RailState { private final boolean isStraight; private final List connections = Lists.newArrayList(); + // Paper start - prevent desync + public boolean isValid() { -+ return this.getWorld().getBlockState(this.getPos()).getBlock() == this.getRailState().getBlock(); ++ return this.level.getBlockState(this.pos).getBlock() == this.state.getBlock(); + } + // Paper end - prevent desync + @@ -89,6 +79,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 public BlockState getState() { - return this.state; -+ return this.getWorld().getBlockState(this.getPos()); // Paper - prevent desync ++ return this.level.getBlockState(this.pos); // Paper - prevent desync } } diff --git a/patches/server/Implement-Mob-Goal-API.patch b/patches/server/Implement-Mob-Goal-API.patch index 27fb321fc9..83b22da8ac 100644 --- a/patches/server/Implement-Mob-Goal-API.patch +++ b/patches/server/Implement-Mob-Goal-API.patch @@ -510,7 +510,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + public PaperCustomGoal(Goal handle) { + this.handle = handle; + -+ this.setTypes(MobGoalHelper.paperToVanilla(handle.getTypes())); ++ this.setFlags(MobGoalHelper.paperToVanilla(handle.getTypes())); + if (this.getGoalTypes().size() == 0) { + this.getGoalTypes().addUnchecked(Flag.UNKNOWN_BEHAVIOR); + } @@ -810,12 +810,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + + @Override + public boolean shouldActivate() { -+ return handle.shouldActivate2(); ++ return handle.canUse(); + } + + @Override + public boolean shouldStayActive() { -+ return handle.shouldStayActive2(); ++ return handle.canContinueToUse(); + } + + @Override @@ -864,7 +864,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 private final EnumSet flags = EnumSet.noneOf(Goal.Flag.class); // Paper unused, but dummy to prevent plugins from crashing as hard. Theyll need to support paper in a special case if this is super important, but really doesn't seem like it would be. private final com.destroystokyo.paper.util.set.OptimizedSmallEnumSet goalTypes = new com.destroystokyo.paper.util.set.OptimizedSmallEnumSet<>(Goal.Flag.class); // Paper - remove streams from pathfindergoalselector -- public abstract boolean canUse(); + // Paper start make sure goaltypes is never empty + public Goal() { + if (this.goalTypes.size() == 0) { @@ -873,23 +872,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + } + // Paper end + -+ public boolean canUse() { return this.shouldActivate(); } @Deprecated public boolean shouldActivate() { return false;} @Deprecated public boolean shouldActivate2() { return canUse(); } // Paper - OBFHELPER, for both directions... - -- public boolean canContinueToUse() { -+ public boolean canContinueToUse() { return this.shouldStayActive(); } @Deprecated public boolean shouldStayActive2() { return canContinueToUse(); } @Deprecated public boolean shouldStayActive() { // Paper - OBFHELPER, for both directions... - return this.canUse(); - } + public abstract boolean canUse(); + public boolean canContinueToUse() { @@ -0,0 +0,0 @@ public abstract class Goal { - public void tick() { - } - -- public void setFlags(EnumSet controls) { -+ @Deprecated public void setFlags(EnumSet controls) { this.setTypes(controls); } public void setTypes(EnumSet enumset) { // Paper - OBFHELPER // Paper start - remove streams from pathfindergoalselector this.goalTypes.clear(); -- this.goalTypes.addAllUnchecked(controls); -+ this.goalTypes.addAllUnchecked(enumset); + this.goalTypes.addAllUnchecked(controls); + // make sure its never empty + if (this.goalTypes.size() == 0) { + this.goalTypes.addUnchecked(Flag.UNKNOWN_BEHAVIOR); diff --git a/patches/server/Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/server/Pillager-patrol-spawn-settings-and-per-player-option.patch index 718f292b55..40c2386349 100644 --- a/patches/server/Pillager-patrol-spawn-settings-and-per-player-option.patch +++ b/patches/server/Pillager-patrol-spawn-settings-and-per-player-option.patch @@ -65,14 +65,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.CustomSpawner; import net.minecraft.world.level.GameRules; -@@ -0,0 +0,0 @@ import net.minecraft.world.level.block.state.BlockState; - - public class PatrolSpawner implements CustomSpawner { - -- private int nextTick; -+ private int nextTick;@Deprecated private int getSpawnDelay() { return nextTick; } @Deprecated private void setSpawnDelay(int spawnDelay) { this.nextTick = spawnDelay; } // Paper - OBFHELPER - - public PatrolSpawner() {} +@@ -0,0 +0,0 @@ public class PatrolSpawner implements CustomSpawner { @Override public int tick(ServerLevel world, boolean spawnMonsters, boolean spawnAnimals) { @@ -106,8 +99,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } else { - this.nextTick += 12000 + random.nextInt(1200); - long i = world.getDayTime() / 24000L; -+ setSpawnDelay(getSpawnDelay() - 1); -+ patrolSpawnDelay = getSpawnDelay(); ++ this.nextTick--; ++ patrolSpawnDelay = this.nextTick; + } + + if (patrolSpawnDelay > 0) { @@ -122,7 +115,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + if (world.paperConfig.patrolPerPlayerDelay) { + entityhuman.patrolSpawnDelay += world.paperConfig.patrolDelay + random.nextInt(1200); + } else { -+ setSpawnDelay(getSpawnDelay() + world.paperConfig.patrolDelay + random.nextInt(1200)); ++ this.nextTick += world.paperConfig.patrolDelay + random.nextInt(1200); + } - if (i >= 5L && world.isDay()) { diff --git a/patches/server/Prevent-headless-pistons-from-being-created.patch b/patches/server/Prevent-headless-pistons-from-being-created.patch index 188ed5fdfb..6c5399dedd 100644 --- a/patches/server/Prevent-headless-pistons-from-being-created.patch +++ b/patches/server/Prevent-headless-pistons-from-being-created.patch @@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper start - prevent headless pistons from forming + if (!com.destroystokyo.paper.PaperConfig.allowHeadlessPistons && iblockdata.getBlock() == Blocks.MOVING_PISTON) { + BlockEntity extension = this.level.getBlockEntity(blockposition); -+ if (extension instanceof PistonMovingBlockEntity && ((PistonMovingBlockEntity) extension).isHead()) { ++ if (extension instanceof PistonMovingBlockEntity && ((PistonMovingBlockEntity) extension).isSourcePiston()) { + Direction direction = iblockdata.getValue(PistonHeadBlock.FACING); + set.add(blockposition.relative(direction.getOpposite())); + } @@ -59,16 +59,3 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } d4 += d0 * 0.30000001192092896D; -diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java -+++ b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java -@@ -0,0 +0,0 @@ public class PistonMovingBlockEntity extends BlockEntity { - return this.direction; - } - -+ @Deprecated public final boolean isHead() { return this.isSourcePiston(); } // Paper - OBFHELPER -+ - public boolean isSourcePiston() { - return this.isSourcePiston; - } diff --git a/patches/server/Update-itemstack-legacy-name-and-lore.patch b/patches/server/Update-itemstack-legacy-name-and-lore.patch index 6e7e518f1e..53c5ba5f07 100644 --- a/patches/server/Update-itemstack-legacy-name-and-lore.patch +++ b/patches/server/Update-itemstack-legacy-name-and-lore.patch @@ -14,7 +14,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 } + + private void processText() { -+ CompoundTag display = getSubTag("display"); ++ CompoundTag display = getTagElement("display"); + if (display != null) { + if (display.contains("Name", 8)) { + String json = display.getString("Name"); @@ -61,11 +61,3 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 this.getItem().verifyTagAfterLoad(this.tag); } -@@ -0,0 +0,0 @@ public final class ItemStack { - } - } - -+ @Deprecated @Nullable public CompoundTag getSubTag(String s) { return getTagElement(s); } // Paper - OBFHELPER - @Nullable - public CompoundTag getTagElement(String key) { - return this.tag != null && this.tag.contains(key, 10) ? this.tag.getCompound(key) : null; diff --git a/patches/server/Villager-Restocks-API.patch b/patches/server/Villager-Restocks-API.patch index f011dfa7d6..c45bd8246e 100644 --- a/patches/server/Villager-Restocks-API.patch +++ b/patches/server/Villager-Restocks-API.patch @@ -4,19 +4,6 @@ Date: Sun, 26 Apr 2020 23:49:01 -0400 Subject: [PATCH] Villager Restocks API -diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/world/entity/npc/Villager.java -+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -0,0 +0,0 @@ public class Villager extends AbstractVillager implements ReputationEventHandler - private long lastGossipDecayTime; - private int villagerXp; - private long lastRestockGameTime; -- private int numberOfRestocksToday; -+ private int numberOfRestocksToday; @Deprecated public int getRestocksToday(){ return this.numberOfRestocksToday; } @Deprecated public void setRestocksToday(int restocksToday){ this.numberOfRestocksToday = restocksToday; } // Paper OBFHELPER - private long lastRestockCheckDayTime; - private boolean assignProfessionWhenSpawned; - private static final ImmutableList> MEMORY_TYPES = ImmutableList.of(MemoryModuleType.HOME, MemoryModuleType.JOB_SITE, MemoryModuleType.POTENTIAL_JOB_SITE, MemoryModuleType.MEETING_POINT, MemoryModuleType.NEAREST_LIVING_ENTITIES, MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES, MemoryModuleType.VISIBLE_VILLAGER_BABIES, MemoryModuleType.NEAREST_PLAYERS, MemoryModuleType.NEAREST_VISIBLE_PLAYER, MemoryModuleType.NEAREST_VISIBLE_ATTACKABLE_PLAYER, MemoryModuleType.NEAREST_VISIBLE_WANTED_ITEM, MemoryModuleType.WALK_TARGET, new MemoryModuleType[]{MemoryModuleType.LOOK_TARGET, MemoryModuleType.INTERACTION_TARGET, MemoryModuleType.BREED_TARGET, MemoryModuleType.PATH, MemoryModuleType.DOORS_TO_CLOSE, MemoryModuleType.NEAREST_BED, MemoryModuleType.HURT_BY, MemoryModuleType.HURT_BY_ENTITY, MemoryModuleType.NEAREST_HOSTILE, MemoryModuleType.SECONDARY_JOB_SITE, MemoryModuleType.HIDING_PLACE, MemoryModuleType.HEARD_BELL_TIME, MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, MemoryModuleType.LAST_SLEPT, MemoryModuleType.LAST_WOKEN, MemoryModuleType.LAST_WORKED_AT_POI, MemoryModuleType.GOLEM_DETECTED_RECENTLY}); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java @@ -28,12 +15,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper start + @Override + public int getRestocksToday() { -+ return getHandle().getRestocksToday(); ++ return getHandle().numberOfRestocksToday; + } + + @Override + public void setRestocksToday(int restocksToday) { -+ getHandle().setRestocksToday(restocksToday); ++ getHandle().numberOfRestocksToday = restocksToday; + } + // Paper end + diff --git a/patches/server/call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/call-PortalCreateEvent-players-and-end-platform.patch index 350027464f..6c3038b29e 100644 --- a/patches/server/call-PortalCreateEvent-players-and-end-platform.patch +++ b/patches/server/call-PortalCreateEvent-players-and-end-platform.patch @@ -4,18 +4,6 @@ Date: Wed, 12 May 2021 03:21:22 -0700 Subject: [PATCH] call PortalCreateEvent players and end platform -diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java -index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 ---- a/src/main/java/net/minecraft/core/BlockPos.java -+++ b/src/main/java/net/minecraft/core/BlockPos.java -@@ -0,0 +0,0 @@ public class BlockPos extends Vec3i { - return this.set(this.getX() + direction.getStepX() * distance, this.getY() + direction.getStepY() * distance, this.getZ() + direction.getStepZ() * distance); - } - -+ @Deprecated public BlockPos.MutableBlockPos withOffset(int x, int y, int z) { return move(x, y, z); } // Paper - OBFHELPER - public BlockPos.MutableBlockPos move(int dx, int dy, int dz) { - return this.set(this.getX() + dx, this.getY() + dy, this.getZ() + dz); - } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java