com/mojang/blaze3d/font/GlyphInfo.java --- Java 1 package com.mojang.blaze3d.font; 1 package com.mojang.blaze3d.font; 2 2 3 import com.mojang.blaze3d.vertex.BufferBuilder; . 4 import javax.annotation.Nullable; . 5 import net.fabricmc.api.EnvType; 3 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 4 import net.fabricmc.api.Environment; 7 import net.minecraft.client.render.texture.TextureManager; . 8 import net.minecraft.resource.Identifier; . 9 5 10 @Environment(EnvType.CLIENT) 6 @Environment(EnvType.CLIENT) 11 public interface GlyphInfo { 7 public interface GlyphInfo { 12 float m_8530833(); 8 float getAdvance(); 13 9 14 default float m_6194748() { 10 default float getAdvance(boolean bl) { 15 return 1.0F; 11 return this.getAdvance() + (bl ? this.getBoldOffset() : 0.0F); 16 } 12 } 17 13 18 default float m_0831354() { 14 default float getBearingX() { 19 return 1.0F; 15 return 0.0F; 20 } 16 } 21 17 22 void m_8715475(TextureManager textureManager, boolean bl, float f, f 18 default float getBoldOffset() { .. loat g, BufferBuilder bufferBuilder, float h, float i, float j, float k .. .. ); .. 23 19 return 1.0F; 24 @Nullable 20 } .. 21 25 Identifier m_6048751(); 22 default float getShadowOffset() { .. 23 return 1.0F; .. 24 } 26 } 25 } net/minecraft/client/render/model/block/BlockModel.java --- Java 69 Identifier parentLocation; 69 Identifier parentLocation; 70 70 71 public static BlockModel fromJson(Reader reader) { 71 public static BlockModel fromJson(Reader reader) { 72 return JsonUtils.fromJson(GSON, reader, BlockModel.class, false); 72 return JsonUtils.fromJson(GSON, reader, BlockModel.class); 73 } 73 } 74 74 75 public static BlockModel fromJson(String string) { 75 public static BlockModel fromJson(String string) { net/minecraft/entity/living/mob/hostile/illager/EvokerFangsEntity.java --- Java 59 @Override 59 @Override 60 protected void readCustomNbt(NbtCompound nbtCompound) { 60 protected void readCustomNbt(NbtCompound nbtCompound) { 61 this.warmupTicks = nbtCompound.getInt("Warmup"); 61 this.warmupTicks = nbtCompound.getInt("Warmup"); .. 62 if (nbtCompound.hasUuid("OwnerUUID")) { 62 this.ownerUuid = nbtCompound.getUuid("OwnerUUID"); 63 this.ownerUuid = nbtCompound.getUuid("OwnerUUID"); .. 64 } 63 } 65 } 64 66 65 @Override 67 @Override com/mojang/blaze3d/font/RawGlyph.java --- 1/2 --- Java 4 import net.fabricmc.api.Environment; 4 import net.fabricmc.api.Environment; 5 5 6 @Environment(EnvType.CLIENT) 6 @Environment(EnvType.CLIENT) 7 public interface RawGlyph { 7 public interface RawGlyph extends GlyphInfo { 8 int getPixelWidth(); 8 int getPixelWidth(); 9 9 10 int getPixelHeight(); 10 int getPixelHeight(); 11 .. 12 float m_7423871(); .. 13 .. 14 default float m_4192644() { .. 15 return 1.0F; .. 16 } .. 17 .. 18 default float m_1020198() { .. 19 return 1.0F; .. 20 } .. 21 11 22 void upload(int i, int j); 12 void upload(int i, int j); 23 13 com/mojang/blaze3d/font/RawGlyph.java --- 2/2 --- Java 26 float getOversample(); 16 float getOversample(); 27 17 28 default float getLeft() { 18 default float getLeft() { 29 return this.m_7032718(); 19 return this.getBearingX(); 30 } 20 } 31 21 32 default float getRight() { 22 default float getRight() { 33 return this.getLeft() + (float)this.getPixelWidth() / this.getOve 23 return this.getLeft() + (float)this.getPixelWidth() / this.getOve .. rsample(); .. rsample(); 34 } 24 } 35 25 36 default float getUp() { 26 default float getUp() { 37 return this.m_6732963(); 27 return this.getBearingY(); 38 } 28 } 39 29 40 default float getDown() { 30 default float getDown() { 41 return this.getUp() + (float)this.getPixelHeight() / this.getOver 31 return this.getUp() + (float)this.getPixelHeight() / this.getOver .. sample(); .. sample(); 42 } 32 } 43 .. 44 default float m_7032718() { .. 45 return 0.0F; .. 46 } .. 47 33 48 default float m_6732963() { 34 default float getBearingY() { 49 return 3.0F; 35 return 3.0F; 50 } 36 } 51 } 37 } com/mojang/blaze3d/platform/Window.java --- Java 83 this.windowedX = this.x = this.monitor.getX() + videoMode.getWidt 83 this.windowedX = this.x = this.monitor.getX() + videoMode.getWidt .. h() / 2 - this.width / 2; .. h() / 2 - this.width / 2; 84 this.windowedY = this.y = this.monitor.getY() + videoMode.getHeig 84 this.windowedY = this.y = this.monitor.getY() + videoMode.getHeig .. ht() / 2 - this.height / 2; .. ht() / 2 - this.height / 2; 85 GLFW.glfwDefaultWindowHints(); 85 GLFW.glfwDefaultWindowHints(); 86 this.window = GLFW.glfwCreateWindow(this.width, this.height, "Min 86 this.window = GLFW.glfwCreateWindow(this.width, this.height, "Min .. ecraft 1.13", this.fullscreen ? this.monitor.getMonitor() : 0L, 0L); .. ecraft 18w30a", this.fullscreen ? this.monitor.getMonitor() : 0L, 0L); 87 minecraft.focussed = true; 87 minecraft.focussed = true; 88 this.findBestMonitor(); 88 this.findBestMonitor(); 89 GLFW.glfwMakeContextCurrent(this.window); 89 GLFW.glfwMakeContextCurrent(this.window); net/minecraft/entity/living/mob/SlimeEntity.java --- Java 233 } 233 } 234 234 235 protected boolean isBig() { 235 protected boolean isBig() { 236 return !this.m_4322140(); 236 return !this.m_4322140() && this.isLocallyControlled(); 237 } 237 } 238 238 239 protected int getDamageAmount() { 239 protected int getDamageAmount() { net/minecraft/client/render/model/entity/HumanoidModel.java --- 1/3 --- Java 170 case ITEM: 170 case ITEM: 171 this.leftArm.rotationX = this.leftArm.rotationX * 0.5F - ( 171 this.leftArm.rotationX = this.leftArm.rotationX * 0.5F - ( ... float) (Math.PI / 10); ... float) (Math.PI / 10); 172 this.leftArm.rotationY = 0.0F; 172 this.leftArm.rotationY = 0.0F; 173 break; ... 174 case f_7340108: ... 175 this.leftArm.rotationX = this.leftArm.rotationX * 0.5F - ( ... ... float) Math.PI; ... 176 this.leftArm.rotationY = 0.0F; ... 177 } 173 } 178 174 179 switch (this.rightArmPose) { 175 switch (this.rightArmPose) { net/minecraft/client/render/model/entity/HumanoidModel.java --- 2/3 --- Java 193 this.rightArm.rotationY = 0.0F; 189 this.rightArm.rotationY = 0.0F; 194 } 190 } ... 191 ... 192 if (this.leftArmPose == HumanoidModel.ArmPose.f_7340108 ... 193 && this.rightArmPose != HumanoidModel.ArmPose.BLOCK ... 194 && this.rightArmPose != HumanoidModel.ArmPose.f_7340108 ... 195 && this.rightArmPose != HumanoidModel.ArmPose.BOW_AND_ARROW) ... ... { ... 196 this.leftArm.rotationX = this.leftArm.rotationX * 0.5F - (flo ... ... at) Math.PI; ... 197 this.leftArm.rotationY = 0.0F; ... 198 } 195 199 196 if (this.handSwingProgress > 0.0F) { 200 if (this.handSwingProgress > 0.0F) { 197 Arm arm = this.getMainArm(entity); 201 Arm arm = this.getMainArm(entity); net/minecraft/client/render/model/entity/HumanoidModel.java --- 3/3 --- Java 248 this.rightArm.rotationX = (float) (-Math.PI / 2) + this.head. 252 this.rightArm.rotationX = (float) (-Math.PI / 2) + this.head. ... rotationX; ... rotationX; 249 this.leftArm.rotationX = (float) (-Math.PI / 2) + this.head.r 253 this.leftArm.rotationX = (float) (-Math.PI / 2) + this.head.r ... otationX; ... otationX; 250 } else if (this.leftArmPose == HumanoidModel.ArmPose.BOW_AND_ARR 254 } else if (this.leftArmPose == HumanoidModel.ArmPose.BOW_AND_ARR ... OW) { ... OW ... 255 && this.rightArmPose != HumanoidModel.ArmPose.f_7340108 ... 256 && this.rightArmPose != HumanoidModel.ArmPose.BLOCK) { 251 this.rightArm.rotationY = -0.1F + this.head.rotationY - 0.4F; 257 this.rightArm.rotationY = -0.1F + this.head.rotationY - 0.4F; 252 this.leftArm.rotationY = 0.1F + this.head.rotationY; 258 this.leftArm.rotationY = 0.1F + this.head.rotationY; 253 this.rightArm.rotationX = (float) (-Math.PI / 2) + this.head. 259 this.rightArm.rotationX = (float) (-Math.PI / 2) + this.head. rotationX; rotationX; net/minecraft/client/render/debug/CollisionRenderer.java --- 1/4 --- Java 1 package net.minecraft.client.render.debug; 1 package net.minecraft.client.render.debug; 2 2 3 import com.mojang.blaze3d.platform.GlStateManager; 3 import com.mojang.blaze3d.platform.GlStateManager; . 4 import java.util.Collections; . 5 import java.util.List; . 6 import java.util.stream.Collectors; 4 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.EnvType; 5 import net.fabricmc.api.Environment; 8 import net.fabricmc.api.Environment; 6 import net.minecraft.block.shape.VoxelShape; 9 import net.minecraft.block.shape.VoxelShape; 7 import net.minecraft.block.shape.VoxelShapes; . 8 import net.minecraft.client.Minecraft; 10 import net.minecraft.client.Minecraft; 9 import net.minecraft.client.render.world.WorldRenderer; 11 import net.minecraft.client.render.world.WorldRenderer; 10 import net.minecraft.entity.living.player.PlayerEntity; 12 import net.minecraft.entity.living.player.PlayerEntity; net/minecraft/client/render/debug/CollisionRenderer.java --- 2/4 --- Java 14 public class CollisionRenderer implements DebugRenderer.SimpleDebugRend 16 public class CollisionRenderer implements DebugRenderer.SimpleDebugRend .. erer { .. erer { 15 private final Minecraft minecraft; 17 private final Minecraft minecraft; 16 private double f_9679833 = Double.MIN_VALUE; 18 private double f_9679833 = Double.MIN_VALUE; 17 private VoxelShape f_1462851 = VoxelShapes.empty(); 19 private List<VoxelShape> f_1462851 = Collections.emptyList(); 18 20 19 public CollisionRenderer(Minecraft minecraft) { 21 public CollisionRenderer(Minecraft minecraft) { 20 this.minecraft = minecraft; 22 this.minecraft = minecraft; net/minecraft/client/render/debug/CollisionRenderer.java --- 3/4 --- Java 26 double d = (double)Utils.getTimeNanos(); 28 double d = (double)Utils.getTimeNanos(); 27 if (d - this.f_9679833 > 1.0E8) { 29 if (d - this.f_9679833 > 1.0E8) { 28 this.f_9679833 = d; 30 this.f_9679833 = d; 29 this.f_1462851 = playerEntity.world.getCollisions(playerEntity 31 this.f_1462851 = playerEntity.world.getCollisions(playerEntity .. , playerEntity.getShape().expand(6.0)); .. , playerEntity.getShape().expand(6.0)).collect(Collectors.toList()); 30 } 32 } 31 33 32 double e = playerEntity.prevTickX + (playerEntity.x - playerEntit 34 double e = playerEntity.prevTickX + (playerEntity.x - playerEntit y.prevTickX) * (double)f; y.prevTickX) * (double)f; net/minecraft/client/render/debug/CollisionRenderer.java --- 4/4 --- Java 40 GlStateManager.disableTexture(); 42 GlStateManager.disableTexture(); 41 GlStateManager.depthMask(false); 43 GlStateManager.depthMask(false); .. 44 .. 45 for (VoxelShape voxelShape : this.f_1462851) { 42 WorldRenderer.m_5361183(this.f_1462851, -e, -g, -h, 1.0F, 1.0F, 1 46 WorldRenderer.m_5361183(voxelShape, -e, -g, -h, 1.0F, 1.0F, 1. .. .0F, 1.0F); .. 0F, 1.0F); .. 47 } .. 48 43 GlStateManager.depthMask(true); 49 GlStateManager.depthMask(true); 44 GlStateManager.enableTexture(); 50 GlStateManager.enableTexture(); net/minecraft/server/world/ServerWorld.java --- 1/3 --- Java 10 import java.util.Map; 10 import java.util.Map; 11 import java.util.Random; 11 import java.util.Random; 12 import java.util.UUID; 12 import java.util.UUID; .. 13 import java.util.function.BooleanSupplier; 13 import java.util.stream.Collectors; 14 import java.util.stream.Collectors; 14 import javax.annotation.Nonnull; 15 import javax.annotation.Nonnull; 15 import javax.annotation.Nullable; 16 import javax.annotation.Nullable; net/minecraft/server/world/ServerWorld.java --- 2/3 --- Java 166 } 167 } 167 168 168 @Override 169 @Override 169 public void tick() { 170 public void tick(BooleanSupplier booleanSupplier) { 170 this.ticking = true; 171 this.ticking = true; 171 super.tick(); 172 super.tick(booleanSupplier); 172 if (this.getData().isHardcore() && this.getDifficulty() != Diffi 173 if (this.getData().isHardcore() && this.getDifficulty() != Diffi ... culty.HARD) { ... culty.HARD) { 173 this.getData().setDifficulty(Difficulty.HARD); 174 this.getData().setDifficulty(Difficulty.HARD); 174 } 175 } net/minecraft/server/world/ServerWorld.java --- 3/3 --- Java 190 } 191 } 191 192 192 this.profiler.swap("chunkSource"); 193 this.profiler.swap("chunkSource"); 193 this.chunkSource.tick(); 194 this.chunkSource.tick(booleanSupplier); 194 int i = this.calculateAmbientDarkness(1.0F); 195 int i = this.calculateAmbientDarkness(1.0F); 195 if (i != this.getAmbientDarkness()) { 196 if (i != this.getAmbientDarkness()) { 196 this.setAmbientDarkness(i); 197 this.setAmbientDarkness(i); net/minecraft/entity/living/mob/MobEntity.java --- 1/3 --- Java 512 ItemStack itemStack2 = this.getEquipmentStack(equipmentSlot); 512 ItemStack itemStack2 = this.getEquipmentStack(equipmentSlot); 513 boolean bl = this.prefersNewEquipment(itemStack, itemStack2, equ 513 boolean bl = this.prefersNewEquipment(itemStack, itemStack2, equ ... ipmentSlot); ... ipmentSlot); 514 if (bl && this.canHoldItem(itemStack)) { 514 if (bl && this.canHoldItem(itemStack)) { 515 double d = this.m_9627415(equipmentSlot); 515 double d = (double)this.m_9627415(equipmentSlot); 516 if (!itemStack2.isEmpty() && (double)(this.random.nextFloat() 516 if (!itemStack2.isEmpty() && (double)(this.random.nextFloat() ... - 0.1F) < d) { ... - 0.1F) < d) { 517 this.dropItem(itemStack2); 517 this.dropItem(itemStack2); 518 } 518 } net/minecraft/entity/living/mob/MobEntity.java --- 2/3 --- Java 764 protected void dropEquipment(boolean bl, int i) { 764 protected void dropEquipment(boolean bl, int i) { 765 for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) { 765 for (EquipmentSlot equipmentSlot : EquipmentSlot.values()) { 766 ItemStack itemStack = this.getEquipmentStack(equipmentSlot); 766 ItemStack itemStack = this.getEquipmentStack(equipmentSlot); 767 double d = this.m_9627415(equipmentSlot); 767 float f = this.m_9627415(equipmentSlot); 768 boolean bl2 = d > 1.0; 768 boolean bl2 = f > 1.0F; 769 if (!itemStack.isEmpty() 769 if (!itemStack.isEmpty() && !EnchantmentHelper.getVanishingCu ... ... rseLevel(itemStack) && (bl || bl2) && this.random.nextFloat() - (float ... ... )i * 0.01F < f) { 770 && !EnchantmentHelper.getVanishingCurseLevel(itemStack) ... 771 && (bl || bl2) ... 772 && (double)(this.random.nextFloat() - (float)i * 0.01F) < ... ... d) { ... 773 if (!bl2 && itemStack.isDamageable()) { 770 if (!bl2 && itemStack.isDamageable()) { 774 itemStack.setDamage(itemStack.getMaxDamage() - this.ran 771 itemStack.setDamage(itemStack.getMaxDamage() - this.ran ... dom.nextInt(1 + this.random.nextInt(Math.max(itemStack.getMaxDamage() ... dom.nextInt(1 + this.random.nextInt(Math.max(itemStack.getMaxDamage() ... - 3, 1)))); ... - 3, 1)))); 775 } 772 } net/minecraft/entity/living/mob/MobEntity.java --- 3/3 --- Java 779 } 776 } 780 } 777 } 781 778 782 protected double m_9627415(EquipmentSlot equipmentSlot) { 779 protected float m_9627415(EquipmentSlot equipmentSlot) { 783 double d; 780 float f; 784 switch (equipmentSlot.getType()) { 781 switch (equipmentSlot.getType()) { 785 case HAND: 782 case HAND: 786 d = (double)this.handDropChances[equipmentSlot.getId()]; 783 f = this.handDropChances[equipmentSlot.getId()]; 787 break; 784 break; 788 case ARMOR: 785 case ARMOR: 789 d = (double)this.armorDropChances[equipmentSlot.getId()]; 786 f = this.armorDropChances[equipmentSlot.getId()]; 790 break; 787 break; 791 default: 788 default: 792 d = 0.0; 789 f = 0.0F; 793 } 790 } 794 791 795 return d; 792 return f; 796 } 793 } 797 794 798 protected void initSpawningEquipment(LocalDifficulty localDifficult 795 protected void initSpawningEquipment(LocalDifficulty localDifficult y) { y) { net/minecraft/unmapped/C_5963279.java --- 1/2 --- Java 1 package net.minecraft.unmapped; 1 package net.minecraft.unmapped; 2 2 3 import com.google.common.collect.Streams; 3 import com.google.common.collect.Streams; . 4 import java.util.List; 4 import java.util.function.Predicate; 5 import java.util.function.Predicate; . 6 import java.util.stream.Collectors; 5 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 8 import net.fabricmc.api.Environment; 7 import net.minecraft.block.Block; 9 import net.minecraft.block.Block; net/minecraft/unmapped/C_5963279.java --- 2/2 --- Java 19 21 20 @Override 22 @Override 21 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo 23 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo .. ckState> stateDefinition) { .. ckState> stateDefinition) { 22 return blockState -> Streams.stream(this.f_0576825) 24 List<Predicate<BlockState>> list = Streams.stream(this.f_0576825) 23 .allMatch(blockStatePredicateFactory -> blockStatePredicate 25 .map(blockStatePredicateFactory -> blockStatePredicateFactory. .. Factory.getPredicate(stateDefinition).test(blockState)); .. getPredicate(stateDefinition)) .. 26 .collect(Collectors.toList()); .. 27 return blockState -> list.stream().allMatch(predicate -> predicat .. .. e.test(blockState)); 24 } 28 } 25 } 29 } net/minecraft/item/ItemStack.java --- Java 511 NbtCompound nbtCompound = nbtList.getCompound(j); 511 NbtCompound nbtCompound = nbtList.getCompound(j); 512 Enchantment enchantment = Enchantment.REGISTRY.get(Iden 512 Enchantment enchantment = Enchantment.REGISTRY.get(Iden ... tifier.parse(nbtCompound.getString("id"))); ... tifier.parse(nbtCompound.getString("id"))); 513 if (enchantment != null) { 513 if (enchantment != null) { 514 list.add(enchantment.getName(nbtCompound.getInt("lvl 514 list.add(enchantment.getName(nbtCompound.getInt("lvl ... ")).setFormatting(Formatting.GRAY)); ... "))); 515 } 515 } 516 } 516 } 517 } 517 } net/minecraft/client/render/model/block/Selector.java --- Java 89 return createCondition(set.iterator().next()); 89 return createCondition(set.iterator().next()); 90 } 90 } 91 } else { 91 } else { 92 return new C_5963279(set.stream().map(Selector.Serializer:: 92 return new C_5963279(set.stream().map(entry -> createCondit .. createCondition).collect(Collectors.toList())); .. ion((Entry<String, JsonElement>)entry)).collect(Collectors.toList())); 93 } 93 } 94 } 94 } 95 95 net/minecraft/entity/living/mob/MagmaCubeEntity.java --- Java 107 107 108 @Override 108 @Override 109 protected boolean isBig() { 109 protected boolean isBig() { 110 return true; 110 return this.isLocallyControlled(); 111 } 111 } 112 112 113 @Override 113 @Override net/minecraft/client/gui/screen/inventory/menu/FurnaceScreen.java --- Java 75 75 76 @Override 76 @Override 77 protected void drawForeground(int i, int j) { 77 protected void drawForeground(int i, int j) { 78 String string = this.inventory.getDisplayName().getString(); 78 String string = this.inventory.getDisplayName().getFormattedStrin .. .. g(); 79 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - 79 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); 80 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 80 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 81 } 81 } 82 82 83 @Override 83 @Override net/minecraft/client/gui/screen/inventory/menu/BrewingStandScreen.java --- Java 31 31 32 @Override 32 @Override 33 protected void drawForeground(int i, int j) { 33 protected void drawForeground(int i, int j) { 34 String string = this.inventory.getDisplayName().getString(); 34 String string = this.inventory.getDisplayName().getFormattedStrin .. .. g(); 35 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - 35 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); 36 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 36 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 37 } 37 } 38 38 39 @Override 39 @Override net/minecraft/resource/pack/repository/UnopenedPack.java --- 1/2 --- Java 16 import net.minecraft.text.LiteralText; 16 import net.minecraft.text.LiteralText; 17 import net.minecraft.text.Text; 17 import net.minecraft.text.Text; 18 import net.minecraft.text.TextUtils; 18 import net.minecraft.text.TextUtils; .. 19 import net.minecraft.text.TranslatableText; 19 import org.apache.logging.log4j.LogManager; 20 import org.apache.logging.log4j.LogManager; 20 import org.apache.logging.log4j.Logger; 21 import org.apache.logging.log4j.Logger; 21 22 22 public class UnopenedPack { 23 public class UnopenedPack { 23 private static final Logger LOGGER = LogManager.getLogger(); 24 private static final Logger LOGGER = LogManager.getLogger(); .. 25 private static final PackMetadataSection DEFAULT_METADATA = new Pack .. .. MetadataSection( .. 26 new TranslatableText("resourcePack.broken_assets").setFormatting( .. .. new Formatting[]{Formatting.RED, Formatting.ITALIC}), 4 .. 27 ); 24 private final String id; 28 private final String id; 25 private final Supplier<Pack> builder; 29 private final Supplier<Pack> builder; 26 private final Text title; 30 private final Text title; net/minecraft/resource/pack/repository/UnopenedPack.java --- 2/2 --- Java 36 ) { 40 ) { 37 try (Pack pack = supplier.get()) { 41 try (Pack pack = supplier.get()) { 38 PackMetadataSection packMetadataSection = pack.getMetadataSect 42 PackMetadataSection packMetadataSection = pack.getMetadataSect .. ion(PackMetadataSection.SERIALIZER); .. ion(PackMetadataSection.SERIALIZER); .. 43 if (bl && packMetadataSection == null) { .. 44 LOGGER.error( .. 45 "Broken/missing pack.mcmeta detected, fudging it into ex .. .. istance. Please check that your launcher has downloaded all assets for .. .. the game correctly!" .. 46 ); .. 47 packMetadataSection = DEFAULT_METADATA; .. 48 } .. 49 39 if (packMetadataSection != null) { 50 if (packMetadataSection != null) { 40 return factory.create(string, bl, supplier, pack, packMetad 51 return factory.create(string, bl, supplier, pack, packMetad ataSection, position); ataSection, position); net/minecraft/client/resource/pack/ResourcePacks.java --- Java 74 Map<String, String> map = Maps.newHashMap(); 74 Map<String, String> map = Maps.newHashMap(); 75 map.put("X-Minecraft-Username", Minecraft.getInstance().getSessio 75 map.put("X-Minecraft-Username", Minecraft.getInstance().getSessio .. n().getUsername()); .. n().getUsername()); 76 map.put("X-Minecraft-UUID", Minecraft.getInstance().getSession(). 76 map.put("X-Minecraft-UUID", Minecraft.getInstance().getSession(). .. getUuid()); .. getUuid()); 77 map.put("X-Minecraft-Version", "1.13"); 77 map.put("X-Minecraft-Version", "18w30a"); 78 map.put("X-Minecraft-Pack-Format", String.valueOf(4)); 78 map.put("X-Minecraft-Pack-Format", String.valueOf(4)); 79 map.put("User-Agent", "Minecraft Java/1.13"); 79 map.put("User-Agent", "Minecraft Java/18w30a"); 80 return map; 80 return map; 81 } 81 } 82 82 net/minecraft/world/gen/WorldGenRegion.java --- 1/4 --- Java 1 package net.minecraft.world.gen; 1 package net.minecraft.world.gen; 2 2 3 import java.util.Collections; . 4 import java.util.List; . 5 import java.util.Random; 3 import java.util.Random; 6 import java.util.Set; . 7 import java.util.function.Function; 4 import java.util.function.Function; 8 import java.util.function.Predicate; 5 import java.util.function.Predicate; 9 import javax.annotation.Nullable; 6 import javax.annotation.Nullable; net/minecraft/world/gen/WorldGenRegion.java --- 2/4 --- Java 12 import net.minecraft.block.entity.BlockEntity; 9 import net.minecraft.block.entity.BlockEntity; 13 import net.minecraft.block.entity.BlockEntityProvider; 10 import net.minecraft.block.entity.BlockEntityProvider; 14 import net.minecraft.block.shape.VoxelShape; 11 import net.minecraft.block.shape.VoxelShape; 15 import net.minecraft.block.shape.VoxelShapes; .. 16 import net.minecraft.block.state.BlockState; 12 import net.minecraft.block.state.BlockState; 17 import net.minecraft.entity.Entity; 13 import net.minecraft.entity.Entity; 18 import net.minecraft.entity.living.player.PlayerEntity; 14 import net.minecraft.entity.living.player.PlayerEntity; net/minecraft/world/gen/WorldGenRegion.java --- 3/4 --- Java 23 import net.minecraft.sound.SoundCategory; 19 import net.minecraft.sound.SoundCategory; 24 import net.minecraft.sound.SoundEvent; 20 import net.minecraft.sound.SoundEvent; 25 import net.minecraft.util.math.BlockPos; 21 import net.minecraft.util.math.BlockPos; 26 import net.minecraft.util.math.Box; .. 27 import net.minecraft.util.math.Direction; 22 import net.minecraft.util.math.Direction; 28 import net.minecraft.util.math.MathHelper; 23 import net.minecraft.util.math.MathHelper; 29 import net.minecraft.world.LightType; 24 import net.minecraft.world.LightType; net/minecraft/world/gen/WorldGenRegion.java --- 4/4 --- Java 269 return true; 264 return true; 270 } 265 } 271 ... 272 @Override ... 273 public VoxelShape m_8800941(@Nullable Entity entity, VoxelShape vox ... ... elShape, boolean bl, Set<Entity> set) { ... 274 return VoxelShapes.empty(); ... 275 } ... 276 ... 277 @Override ... 278 public List<Entity> getEntities(@Nullable Entity entity, Box box) { ... 279 LOGGER.warn("Trying to get a list of entities during worldgen. E ... ... ntities are not instanciated during worldgen, ignoring."); ... 280 return Collections.emptyList(); ... 281 } ... 282 266 283 @Override 267 @Override 284 public int getDirectSignal(BlockPos blockPos, Direction direction) 268 public int getDirectSignal(BlockPos blockPos, Direction direction) { { net/minecraft/client/gui/screen/inventory/menu/VillagerScreen.java --- 1/2 --- Java 29 private VillagerScreen.PaginationButton buttonBack; 29 private VillagerScreen.PaginationButton buttonBack; 30 private int currentPage; 30 private int currentPage; 31 private final Text name; 31 private final Text name; .. 32 private final PlayerInventory f_5877378; 32 33 33 public VillagerScreen(PlayerInventory playerInventory, Trader trader 34 public VillagerScreen(PlayerInventory playerInventory, Trader trader .. , World world) { .. , World world) { 34 super(new TraderMenu(playerInventory, trader, world)); 35 super(new TraderMenu(playerInventory, trader, world)); 35 this.trader = trader; 36 this.trader = trader; 36 this.name = trader.getDisplayName(); 37 this.name = trader.getDisplayName(); .. 38 this.f_5877378 = playerInventory; 37 } 39 } 38 40 39 private void m_8591688() { 41 private void m_8591688() { net/minecraft/client/gui/screen/inventory/menu/VillagerScreen.java --- 2/2 --- Java 75 77 76 @Override 78 @Override 77 protected void drawForeground(int i, int j) { 79 protected void drawForeground(int i, int j) { 78 String string = this.name.getString(); 80 String string = this.name.getFormattedString(); 79 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - 81 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); 80 this.textRenderer.draw(I18n.translate("container.inventory"), 8.0 82 this.textRenderer.draw(this.f_5877378.getDisplayName().getFormatt .. F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. edString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); 81 } 83 } 82 84 83 @Override 85 @Override net/minecraft/unmapped/C_3989423.java --- 1/2 --- Java 646 } 646 } 647 ) 647 ) 648 ); 648 ); ... 649 boolean bl = dynamic.getBoolean("convertedFromAlphaFormat"); 649 dynamic.get("Sections").flatMap(Dynamic::getStream).ifPresent 650 dynamic.get("Sections").flatMap(Dynamic::getStream).ifPresent ... (stream -> stream.forEach(dynamicx -> { ... (stream -> stream.forEach(dynamicx -> { 650 C_3989423.C_0726147 c_0726147x = new C_3989423.C_072614 651 C_3989423.C_0726147 c_0726147x = new C_3989423.C_072614 ... 7(dynamicx); ... 7(dynamicx); 651 this.f_4789041 = c_0726147x.m_5191919(this.f_4789041); 652 this.f_4789041 = c_0726147x.m_5191919(this.f_4789041); net/minecraft/unmapped/C_3989423.java --- 2/2 --- Java 729 if (string4.equals(C_3989423.m_685229 730 if (string4.equals(C_3989423.m_685229 ... 0(dynamic4))) { ... 0(dynamic4))) { 730 String string5 = C_3989423.m_77521 731 String string5 = C_3989423.m_77521 ... 32(dynamic3, "facing"); ... 32(dynamic3, "facing"); 731 String string6 = C_3989423.m_77521 732 String string6 = C_3989423.m_77521 ... 32(dynamic3, "open"); ... 32(dynamic3, "open"); 732 String string7 = C_3989423.m_77521 733 String string7 = bl ? "left" : C_3 ... 32(dynamic4, "hinge"); ... 989423.m_7752132(dynamic4, "hinge"); 733 String string8 = C_3989423.m_77521 734 String string8 = bl ? "false" : C_ ... 32(dynamic4, "powered"); ... 3989423.m_7752132(dynamic4, "powered"); 734 this.m_1619430(jxxx, C_3989423.f_7 735 this.m_1619430(jxxx, C_3989423.f_7 ... 795563.get(string4 + string5 + "lower" + string7 + string6 + string8)) ... 795563.get(string4 + string5 + "lower" + string7 + string6 + string8)) ... ; ... ; 735 this.m_1619430(k, C_3989423.f_7795 736 this.m_1619430(k, C_3989423.f_7795 ... 563.get(string4 + string5 + "upper" + string7 + string6 + string8)); ... 563.get(string4 + string5 + "upper" + string7 + string6 + string8)); 736 } 737 } net/minecraft/client/gui/screen/multiplayer/MultiplayerScreen.java --- Java 108 if (string != null) { 108 if (string != null) { 109 MultiplayerScreen.this.deleteServerConfirmationDi 109 MultiplayerScreen.this.deleteServerConfirmationDi ... alogOpen = true; ... alogOpen = true; 110 String string2 = I18n.translate("selectServer.del 110 String string2 = I18n.translate("selectServer.del ... eteQuestion"); ... eteQuestion"); 111 String string3 = "'" + string + "' " + I18n.trans 111 String string3 = I18n.translate("selectServer.del ... late("selectServer.deleteWarning"); ... eteWarning", string); 112 String string4 = I18n.translate("selectServer.del 112 String string4 = I18n.translate("selectServer.del ... eteButton"); ... eteButton"); 113 String string5 = I18n.translate("gui.cancel"); 113 String string5 = I18n.translate("gui.cancel"); 114 ConfirmScreen confirmScreen = new ConfirmScreen( 114 ConfirmScreen confirmScreen = new ConfirmScreen( net/minecraft/unmapped/C_9968495.java --- 1/2 --- Java 1 package net.minecraft.unmapped; 1 package net.minecraft.unmapped; 2 2 3 import com.google.common.collect.Streams; 3 import com.google.common.collect.Streams; . 4 import java.util.List; 4 import java.util.function.Predicate; 5 import java.util.function.Predicate; . 6 import java.util.stream.Collectors; 5 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 8 import net.fabricmc.api.Environment; 7 import net.minecraft.block.Block; 9 import net.minecraft.block.Block; net/minecraft/unmapped/C_9968495.java --- 2/2 --- Java 19 21 20 @Override 22 @Override 21 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo 23 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo .. ckState> stateDefinition) { .. ckState> stateDefinition) { 22 return blockState -> Streams.stream(this.f_3900088) 24 List<Predicate<BlockState>> list = Streams.stream(this.f_3900088) 23 .anyMatch(blockStatePredicateFactory -> blockStatePredicate 25 .map(blockStatePredicateFactory -> blockStatePredicateFactory. .. Factory.getPredicate(stateDefinition).test(blockState)); .. getPredicate(stateDefinition)) .. 26 .collect(Collectors.toList()); .. 27 return blockState -> list.stream().anyMatch(predicate -> predicat .. .. e.test(blockState)); 24 } 28 } 25 } 29 } net/minecraft/entity/living/mob/hostile/ZombieEntity.java --- Java 268 ItemStack itemStack = this.getEquipmentStack(equipmentSlot 268 ItemStack itemStack = this.getEquipmentStack(equipmentSlot ... ); ... ); 269 if (!itemStack.isEmpty()) { 269 if (!itemStack.isEmpty()) { 270 zombieEntity.setEquipmentStack(equipmentSlot, itemStack 270 zombieEntity.setEquipmentStack(equipmentSlot, itemStack ... ); ... ); ... 271 zombieEntity.setInventoryDropChances(equipmentSlot, thi ... ... s.m_9627415(equipmentSlot)); 271 } 272 } 272 } 273 } 273 274 net/minecraft/resource/pack/CustomPack.java --- 1/2 --- Java 2 2 3 import com.google.gson.JsonObject; 3 import com.google.gson.JsonObject; 4 import com.google.gson.JsonParseException; 4 import com.google.gson.JsonParseException; 5 import com.google.gson.JsonParser; . 6 import java.io.BufferedReader; 5 import java.io.BufferedReader; 7 import java.io.File; 6 import java.io.File; 8 import java.io.IOException; 7 import java.io.IOException; net/minecraft/resource/pack/CustomPack.java --- 2/2 --- Java 72 public static <T> T getMetadataSection(ResourceMetadataSerializer<T> 71 public static <T> T getMetadataSection(ResourceMetadataSerializer<T> .. resourceMetadataSerializer, InputStream inputStream) { .. resourceMetadataSerializer, InputStream inputStream) { 73 JsonObject jsonObject; 72 JsonObject jsonObject; 74 try (BufferedReader bufferedReader = new BufferedReader(new Input 73 try (BufferedReader bufferedReader = new BufferedReader(new Input .. StreamReader(inputStream, StandardCharsets.UTF_8))) { .. StreamReader(inputStream, StandardCharsets.UTF_8))) { 75 jsonObject = new JsonParser().parse(bufferedReader).getAsJsonO 74 jsonObject = JsonUtils.getJsonObject(bufferedReader); .. bject(); .. 76 } catch (JsonParseException | IOException var18) { 75 } catch (JsonParseException | IOException var18) { 77 LOGGER.error("Couldn't load {} metadata", resourceMetadataSeri 76 LOGGER.error("Couldn't load {} metadata", resourceMetadataSeri .. alizer.getName(), var18); .. alizer.getName(), var18); 78 return null; 77 return null; net/minecraft/client/gui/screen/inventory/menu/HopperScreen.java --- Java 32 32 33 @Override 33 @Override 34 protected void drawForeground(int i, int j) { 34 protected void drawForeground(int i, int j) { 35 this.textRenderer.draw(this.inventory.getDisplayName().getString( 35 this.textRenderer.draw(this.inventory.getDisplayName().getFormatt .. ), 8.0F, 6.0F, 4210752); .. edString(), 8.0F, 6.0F, 4210752); 36 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 36 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 37 } 37 } 38 38 39 @Override 39 @Override net/minecraft/world/gen/structure/MansionStructure.java --- Java 24 int n = chunkGenerator.getSettings().getWoodlandMansionSeparation 24 int n = chunkGenerator.getSettings().getWoodlandMansionSeparation .. (); .. (); 25 int o = i + m * k; 25 int o = i + m * k; 26 int p = j + m * l; 26 int p = j + m * l; 27 int q = o < 0 ? o - m - 1 : o; 27 int q = o < 0 ? o - m + 1 : o; 28 int r = p < 0 ? p - m - 1 : p; 28 int r = p < 0 ? p - m + 1 : p; 29 int s = q / m; 29 int s = q / m; 30 int t = r / m; 30 int t = r / m; 31 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g 31 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g etSeed(), s, t, 10387319); etSeed(), s, t, 10387319); net/minecraft/entity/EntityType.java --- 1/3 --- Java 4 import com.mojang.datafixers.types.Type; 4 import com.mojang.datafixers.types.Type; 5 import java.util.UUID; 5 import java.util.UUID; 6 import java.util.function.Function; 6 import java.util.function.Function; . 7 import java.util.stream.Stream; 7 import javax.annotation.Nullable; 8 import javax.annotation.Nullable; 8 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.Environment; 10 import net.fabricmc.api.Environment; net/minecraft/entity/EntityType.java --- 2/3 --- Java 377 box2 = box2.grow(0.0, -1.0, 0.0); 378 box2 = box2.grow(0.0, -1.0, 0.0); 378 } 379 } 379 380 380 VoxelShape voxelShape = worldView.getCollisions(null, box2); 381 Stream<VoxelShape> stream = worldView.getCollisions(null, box2); 381 return !bl && voxelShape.isEmpty() ? 0.0 : 1.0 + VoxelShapes.m_8 382 return 1.0 + VoxelShapes.calculateMaxOffset(Direction.Axis.Y, bo ... 409842(Direction.Axis.Y, box, voxelShape, bl ? -2.0 : -1.0); ... x, stream, bl ? -2.0 : -1.0); 382 } 383 } 383 384 384 public static void m_5553313(World world, @Nullable PlayerEntity pl 385 public static void m_5553313(World world, @Nullable PlayerEntity pl ayerEntity, @Nullable Entity entity, @Nullable NbtCompound nbtCompound ayerEntity, @Nullable Entity entity, @Nullable NbtCompound nbtCompound ) { ) { net/minecraft/entity/EntityType.java --- 3/3 --- Java 485 Type<?> type = null; 486 Type<?> type = null; 486 if (this.serializable) { 487 if (this.serializable) { 487 try { 488 try { 488 type = DataFixes.getDataFixer().getSchema(DataFixUtils. 489 type = DataFixes.getDataFixer().getSchema(DataFixUtils. ... makeKey(1519)).getChoiceType(TypeReferences.ENTITY_TREE, string); ... makeKey(1620)).getChoiceType(TypeReferences.ENTITY_TREE, string); 489 } catch (IllegalStateException var4) { 490 } catch (IllegalStateException var4) { 490 if (SharedConstants.isDevelopment) { 491 if (SharedConstants.isDevelopment) { 491 throw var4; 492 throw var4; net/minecraft/client/resource/model/ModelBakery.java --- Java 351 set.forEach(string -> LOGGER.warn("Unable to resolve texture ref 351 set.forEach(string -> LOGGER.warn("Unable to resolve texture ref ... erence: {}", string)); ... erence: {}", string)); 352 this.blockAtlas.load(this.resourceManager, set2); 352 this.blockAtlas.load(this.resourceManager, set2); 353 map.forEach((modelIdentifier, c_3174183) -> { 353 map.forEach((modelIdentifier, c_3174183) -> { 354 BakedModel bakedModel = c_3174183.m_7854551(this::m_9981989, 354 BakedModel bakedModel = null; ... this.blockAtlas::m_4493734, ModelRotation.X0_Y0, false); ... ... 355 ... 356 try { ... 357 bakedModel = c_3174183.m_7854551(this::m_9981989, this.blo ... ... ckAtlas::m_4493734, ModelRotation.X0_Y0, false); ... 358 } catch (Exception var5) { ... 359 LOGGER.warn("Unable to bake model: '{}': {}", modelIdentif ... ... ier, var5); ... 360 } ... 361 355 if (bakedModel != null) { 362 if (bakedModel != null) { 356 this.bakedRegistry.put(modelIdentifier, bakedModel); 363 this.bakedRegistry.put(modelIdentifier, bakedModel); net/minecraft/client/util/ScreenshotUtils.java --- 1/3 --- Java 8 import java.text.DateFormat; 8 import java.text.DateFormat; 9 import java.text.SimpleDateFormat; 9 import java.text.SimpleDateFormat; 10 import java.util.Date; 10 import java.util.Date; .. 11 import java.util.function.Consumer; 11 import javax.annotation.Nullable; 12 import javax.annotation.Nullable; 12 import net.fabricmc.api.EnvType; 13 import net.fabricmc.api.EnvType; 13 import net.fabricmc.api.Environment; 14 import net.fabricmc.api.Environment; .. 15 import net.minecraft.resource.SimpleResource; 14 import net.minecraft.text.ClickEvent; 16 import net.minecraft.text.ClickEvent; 15 import net.minecraft.text.Formatting; 17 import net.minecraft.text.Formatting; 16 import net.minecraft.text.LiteralText; 18 import net.minecraft.text.LiteralText; net/minecraft/client/util/ScreenshotUtils.java --- 2/3 --- Java 24 private static final Logger LOGGER = LogManager.getLogger(); 26 private static final Logger LOGGER = LogManager.getLogger(); 25 private static final DateFormat DATE_FORMAT = new SimpleDateFormat(" 27 private static final DateFormat DATE_FORMAT = new SimpleDateFormat(" .. yyyy-MM-dd_HH.mm.ss"); .. yyyy-MM-dd_HH.mm.ss"); 26 28 27 public static Text saveScreenshot(File file, int i, int j, RenderTar 29 public static void saveScreenshot(File file, int i, int j, RenderTar .. get renderTarget) { .. get renderTarget, Consumer<Text> consumer) { 28 return saveScreenshot(file, null, i, j, renderTarget); 30 saveScreenshot(file, null, i, j, renderTarget, consumer); 29 } 31 } 30 32 31 public static Text saveScreenshot(File file, @Nullable String string 33 public static void saveScreenshot(File file, @Nullable String string .. , int i, int j, RenderTarget renderTarget) { .. , int i, int j, RenderTarget renderTarget, Consumer<Text> consumer) { 32 try (NativeImage nativeImage = m_5670753(i, j, renderTarget)) { 34 NativeImage nativeImage = m_5670753(i, j, renderTarget); 33 File file2 = new File(file, "screenshots"); 35 File file2 = new File(file, "screenshots"); 34 file2.mkdir(); 36 file2.mkdir(); 35 File file3; 37 File file3; net/minecraft/client/util/ScreenshotUtils.java --- 3/3 --- Java 39 file3 = new File(file2, string); 41 file3 = new File(file2, string); 40 } 42 } 41 43 .. 44 SimpleResource.RESOURCE_IO .. 45 .execute( .. 46 () -> { .. 47 try { 42 nativeImage.m_4128431(file3); 48 nativeImage.m_4128431(file3); 43 Text text = new LiteralText(file3.getName()) 49 Text text = new LiteralText(file3.getName()) 44 .setFormatting(Formatting.UNDERLINE) 50 .setFormatting(Formatting.UNDERLINE) 45 .withStyle(style -> style.setClickEvent(new ClickEvent(Clic 51 .withStyle(style -> style.setClickEvent(new ClickE .. kEvent.Action.OPEN_FILE, file3.getAbsolutePath()))); .. vent(ClickEvent.Action.OPEN_FILE, file3.getAbsolutePath()))); 46 return new TranslatableText("screenshot.success", text); 52 consumer.accept(new TranslatableText("screenshot.succ .. .. ess", text)); 47 } catch (Exception var22) { 53 } catch (Exception var7x) { 48 LOGGER.warn("Couldn't save screenshot", (Throwable)var22); 54 LOGGER.warn("Couldn't save screenshot", (Throwable)va .. .. r7x); 49 return new TranslatableText("screenshot.failure", var22.getMes 55 consumer.accept(new TranslatableText("screenshot.fail .. sage()); .. ure", var7x.getMessage())); 50 } 56 } finally { .. 57 nativeImage.close(); .. 58 } .. 59 } .. 60 ); 51 } 61 } 52 62 53 public static NativeImage m_5670753(int i, int j, RenderTarget rende 63 public static NativeImage m_5670753(int i, int j, RenderTarget rende rTarget) { rTarget) { net/minecraft/resource/SimpleResource.java --- 1/2 --- Java 2 2 3 import com.google.common.util.concurrent.ThreadFactoryBuilder; 3 import com.google.common.util.concurrent.ThreadFactoryBuilder; 4 import com.google.gson.JsonObject; 4 import com.google.gson.JsonObject; 5 import com.google.gson.JsonParser; . 6 import java.io.BufferedReader; 5 import java.io.BufferedReader; 7 import java.io.IOException; 6 import java.io.IOException; 8 import java.io.InputStream; 7 import java.io.InputStream; net/minecraft/resource/SimpleResource.java --- 2/2 --- Java 72 71 73 try { 72 try { 74 bufferedReader = new BufferedReader(new InputStreamReade 73 bufferedReader = new BufferedReader(new InputStreamReade .. r(this.metadata, StandardCharsets.UTF_8)); .. r(this.metadata, StandardCharsets.UTF_8)); 75 this.metadataJson = new JsonParser().parse(bufferedReade 74 this.metadataJson = JsonUtils.getJsonObject(bufferedRead .. r).getAsJsonObject(); .. er); 76 } finally { 75 } finally { 77 IOUtils.closeQuietly((Reader)bufferedReader); 76 IOUtils.closeQuietly((Reader)bufferedReader); 78 } 77 } net/minecraft/client/HotbarManager.java --- Java 52 public void save() { 52 public void save() { 53 try { 53 try { 54 NbtCompound nbtCompound = new NbtCompound(); 54 NbtCompound nbtCompound = new NbtCompound(); 55 nbtCompound.putInt("DataVersion", 1519); 55 nbtCompound.putInt("DataVersion", 1620); 56 56 57 for (int i = 0; i < 9; i++) { 57 for (int i = 0; i < 9; i++) { 58 nbtCompound.put(String.valueOf(i), this.get(i).toNbt()); 58 nbtCompound.put(String.valueOf(i), this.get(i).toNbt()); net/minecraft/client/gui/screen/inventory/menu/ChestScreen.java --- Java 35 35 36 @Override 36 @Override 37 protected void drawForeground(int i, int j) { 37 protected void drawForeground(int i, int j) { 38 this.textRenderer.draw(this.top.getDisplayName().getString(), 8.0 38 this.textRenderer.draw(this.top.getDisplayName().getFormattedStri .. F, 6.0F, 4210752); .. ng(), 8.0F, 6.0F, 4210752); 39 this.textRenderer.draw(this.bottom.getDisplayName().getString(), 39 this.textRenderer.draw(this.bottom.getDisplayName().getFormattedS .. 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); 40 } 40 } 41 41 42 @Override 42 @Override net/minecraft/unmapped/C_6283012.java --- Java 81 } 81 } 82 82 83 @Override 83 @Override 84 public float m_7423871() { 84 public float getAdvance() { 85 return (float)this.f_1851345; 85 return (float)this.f_1851345; 86 } 86 } 87 87 88 @Override 88 @Override 89 public float m_6732963() { 89 public float getBearingY() { 90 return RawGlyph.super.m_6732963() + 7.0F - (float)this.f_16631 90 return RawGlyph.super.getBearingY() + 7.0F - (float)this.f_166 .. 03; .. 3103; 91 } 91 } 92 92 93 @Override 93 @Override net/minecraft/network/packet/c2s/handshake/HandshakeC2SPacket.java --- Java 19 19 20 @Environment(EnvType.CLIENT) 20 @Environment(EnvType.CLIENT) 21 public HandshakeC2SPacket(String string, int i, NetworkProtocol netw 21 public HandshakeC2SPacket(String string, int i, NetworkProtocol netw .. orkProtocol) { .. orkProtocol) { 22 this.version = 393; 22 this.version = 394; 23 this.address = string; 23 this.address = string; 24 this.port = i; 24 this.port = i; 25 this.username = networkProtocol; 25 this.username = networkProtocol; net/minecraft/client/gui/screen/inventory/menu/CraftingTableScreen.java --- 1/2 --- Java 24 private static final Identifier f_1665553 = new Identifier("textures 24 private static final Identifier f_1665553 = new Identifier("textures .. /gui/recipe_button.png"); .. /gui/recipe_button.png"); 25 private final RecipeBookGui recipeBook = new RecipeBookGui(); 25 private final RecipeBookGui recipeBook = new RecipeBookGui(); 26 private boolean f_2813468; 26 private boolean f_2813468; .. 27 private final PlayerInventory f_0267460; 27 28 28 public CraftingTableScreen(PlayerInventory playerInventory, World wo 29 public CraftingTableScreen(PlayerInventory playerInventory, World wo .. rld) { .. rld) { 29 this(playerInventory, world, BlockPos.ORIGIN); 30 this(playerInventory, world, BlockPos.ORIGIN); 30 } 31 } 31 32 32 public CraftingTableScreen(PlayerInventory playerInventory, World wo 33 public CraftingTableScreen(PlayerInventory playerInventory, World wo .. rld, BlockPos blockPos) { .. rld, BlockPos blockPos) { 33 super(new CraftingTableMenu(playerInventory, world, blockPos)); 34 super(new CraftingTableMenu(playerInventory, world, blockPos)); .. 35 this.f_0267460 = playerInventory; 34 } 36 } 35 37 36 @Override 38 @Override net/minecraft/client/gui/screen/inventory/menu/CraftingTableScreen.java --- 2/2 --- Java 85 @Override 87 @Override 86 protected void drawForeground(int i, int j) { 88 protected void drawForeground(int i, int j) { 87 this.textRenderer.draw(I18n.translate("container.crafting"), 28.0 89 this.textRenderer.draw(I18n.translate("container.crafting"), 28.0 .. F, 6.0F, 4210752); .. F, 6.0F, 4210752); 88 this.textRenderer.draw(I18n.translate("container.inventory"), 8.0 90 this.textRenderer.draw(this.f_0267460.getDisplayName().getFormatt .. F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. edString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); 89 } 91 } 90 92 91 @Override 93 @Override net/minecraft/client/gui/screen/inventory/menu/ShulkerInventoryScreen.java --- Java 31 31 32 @Override 32 @Override 33 protected void drawForeground(int i, int j) { 33 protected void drawForeground(int i, int j) { 34 this.textRenderer.draw(this.inventory.getDisplayName().getString( 34 this.textRenderer.draw(this.inventory.getDisplayName().getFormatt .. ), 8.0F, 6.0F, 4210752); .. edString(), 8.0F, 6.0F, 4210752); 35 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 35 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 36 } 36 } 37 37 38 @Override 38 @Override net/minecraft/client/resource/model/MultiPartBakedModel.java --- 1/4 --- Java 1 package net.minecraft.client.resource.model; 1 package net.minecraft.client.resource.model; 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; 4 import it.unimi.dsi.fastutil.Hash.Strategy; . 5 import it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap; 4 import it.unimi.dsi.fastutil.objects.Object2ObjectOpenCustomHashMap; 6 import java.util.BitSet; 5 import java.util.BitSet; 7 import java.util.Collections; 6 import java.util.Collections; net/minecraft/client/resource/model/MultiPartBakedModel.java --- 2/4 --- Java 16 import net.minecraft.client.render.model.block.ItemOverrides; 15 import net.minecraft.client.render.model.block.ItemOverrides; 17 import net.minecraft.client.render.model.block.ModelTransformations; 16 import net.minecraft.client.render.model.block.ModelTransformations; 18 import net.minecraft.client.render.texture.TextureAtlasSprite; 17 import net.minecraft.client.render.texture.TextureAtlasSprite; .. 18 import net.minecraft.util.Utils; 19 import net.minecraft.util.math.Direction; 19 import net.minecraft.util.math.Direction; 20 import org.apache.commons.lang3.tuple.Pair; 20 import org.apache.commons.lang3.tuple.Pair; 21 21 net/minecraft/client/resource/model/MultiPartBakedModel.java --- 3/4 --- Java 27 protected final TextureAtlasSprite particleIcon; 27 protected final TextureAtlasSprite particleIcon; 28 protected final ModelTransformations transforms; 28 protected final ModelTransformations transforms; 29 protected final ItemOverrides overrides; 29 protected final ItemOverrides overrides; 30 private final Map<BlockState, BitSet> f_7983119 = new Object2ObjectO 30 private final Map<BlockState, BitSet> f_7983119 = new Object2ObjectO .. penCustomHashMap<>(MultiPartBakedModel.C_4847718.f_3799678); .. penCustomHashMap<>(Utils.identityStrategy()); 31 31 32 public MultiPartBakedModel(List<Pair<Predicate<BlockState>, BakedMod 32 public MultiPartBakedModel(List<Pair<Predicate<BlockState>, BakedMod .. el>> list) { .. el>> list) { 33 this.selectors = list; 33 this.selectors = list; net/minecraft/client/resource/model/MultiPartBakedModel.java --- 4/4 --- Java 114 } 114 } 115 } 115 } 116 ... 117 @Environment(EnvType.CLIENT) ... 118 static enum C_4847718 implements Strategy<BlockState> { ... 119 f_3799678; ... 120 ... 121 public int hashCode(BlockState blockState) { ... 122 return System.identityHashCode(blockState); ... 123 } ... 124 ... 125 public boolean equals(BlockState blockState, BlockState blockSta ... ... te2) { ... 126 return blockState == blockState2; ... 127 } ... 128 } ... 129 } 116 } net/minecraft/advancement/PlayerAdvancements.java --- Java 127 dynamic = dynamic.set("DataVersion", dynamic.createInt( 127 dynamic = dynamic.set("DataVersion", dynamic.createInt( ... 1343)); ... 1343)); 128 } 128 } 129 129 130 dynamic = this.server.getDataFixerUpper().update(DataFixTy 130 dynamic = this.server.getDataFixerUpper().update(DataFixTy ... pes.ADVANCEMENTS, dynamic, dynamic.getInt("DataVersion"), 1519); ... pes.ADVANCEMENTS, dynamic, dynamic.getInt("DataVersion"), 1620); 131 dynamic = dynamic.remove("DataVersion"); 131 dynamic = dynamic.remove("DataVersion"); 132 Map<Identifier, AdvancementProgress> map = GSON.getAdapter 132 Map<Identifier, AdvancementProgress> map = GSON.getAdapter ... (TYPE_TOKEN).fromJsonTree(dynamic.getValue()); ... (TYPE_TOKEN).fromJsonTree(dynamic.getValue()); 133 if (map == null) { 133 if (map == null) { net/minecraft/unmapped/C_3716885.java --- 1/6 --- Java 6 import com.mojang.blaze3d.font.RawGlyph; 6 import com.mojang.blaze3d.font.RawGlyph; 7 import com.mojang.blaze3d.platform.NativeImage; 7 import com.mojang.blaze3d.platform.NativeImage; 8 import java.io.IOException; 8 import java.io.IOException; . 9 import java.util.Arrays; 9 import java.util.Map; 10 import java.util.Map; 10 import javax.annotation.Nullable; 11 import javax.annotation.Nullable; 11 import net.fabricmc.api.EnvType; 12 import net.fabricmc.api.EnvType; net/minecraft/unmapped/C_3716885.java --- 2/6 --- Java 31 this.f_7859901 = bs; 32 this.f_7859901 = bs; 32 this.f_4277707 = string; 33 this.f_4277707 = string; .. 34 .. 35 for (int i = 0; i < 256; i++) { .. 36 char c = (char)(i * 256); .. 37 Identifier identifier = this.m_1772315(c); .. 38 .. 39 try ( .. 40 Resource resource = this.f_0015081.getResource(identifier); .. 41 NativeImage nativeImage = NativeImage.read(NativeImage.Form .. .. at.RGBA, resource.asStream()); .. 42 ) { .. 43 if (nativeImage.getWidth() == 256 && nativeImage.getHeight( .. .. ) == 256) { .. 44 for (int j = 0; j < 256; j++) { .. 45 byte b = bs[c + j]; .. 46 if (b != 0 && m_1607753(b) > m_1263566(b)) { .. 47 bs[c + j] = 0; .. 48 } .. 49 } .. 50 continue; .. 51 } .. 52 } catch (IOException var43) { .. 53 } .. 54 .. 55 Arrays.fill(bs, c, c + 256, (byte)0); .. 56 } 33 } 57 } 34 58 35 @Override 59 @Override net/minecraft/unmapped/C_3716885.java --- 3/6 --- Java 45 @Nullable 69 @Nullable 46 @Override 70 @Override 47 public RawGlyph getGlyph(char c) { 71 public RawGlyph getGlyph(char c) { 48 int i = this.f_7859901[c]; 72 byte b = this.f_7859901[c]; 49 int j = i >>> 4; .. 50 int k = (i & 15) + 1; .. 51 if (k != j && i != 0 && c != ' ' && k - j >= 0) { 73 if (b != 0) { 52 NativeImage nativeImage = this.f_3865779.computeIfAbsent(this. 74 NativeImage nativeImage = this.f_3865779.computeIfAbsent(this. .. m_1772315(c), this::m_8254676); .. m_1772315(c), this::m_8254676); 53 return nativeImage != null ? new C_3716885.C_6708554(c % 16 * 75 if (nativeImage != null) { .. 16 + j, (c & 255) / 16 * 16, k - j, 16, nativeImage) : null; .. .. 76 int i = m_1607753(b); .. 77 return new C_3716885.C_6708554(c % 16 * 16 + i, (c & 255) / .. .. 16 * 16, m_1263566(b) - i, 16, nativeImage); .. 78 } 54 } else { 79 } 55 return null; 80 56 } 81 return null; 57 } 82 } 58 83 59 @Nullable 84 @Nullable net/minecraft/unmapped/C_3716885.java --- 4/6 --- Java 66 } 91 } 67 } 92 } .. 93 .. 94 private static int m_1607753(byte b) { .. 95 return b >> 4 & 15; .. 96 } .. 97 .. 98 private static int m_1263566(byte b) { .. 99 return (b & 15) + 1; .. 100 } 68 101 69 @Environment(EnvType.CLIENT) 102 @Environment(EnvType.CLIENT) 70 public static class C_1486859 implements C_5410101 { 103 public static class C_1486859 implements C_5410101 { net/minecraft/unmapped/C_3716885.java --- 5/6 --- Java 126 } 159 } 127 160 128 @Override 161 @Override 129 public float m_7423871() { 162 public float getAdvance() { 130 return (float)(this.f_5980924 / 2 + 1); 163 return (float)(this.f_5980924 / 2 + 1); 131 } 164 } 132 165 net/minecraft/unmapped/C_3716885.java --- 6/6 --- Java 141 } 174 } 142 175 143 @Override 176 @Override 144 public float m_4192644() { 177 public float getShadowOffset() { 145 return 0.5F; 178 return 0.5F; 146 } 179 } 147 180 148 @Override 181 @Override 149 public float m_1020198() { 182 public float getBoldOffset() { 150 return 0.5F; 183 return 0.5F; 151 } 184 } 152 } 185 } net/minecraft/unmapped/C_9765239.java --- Java 46 } 46 } 47 47 48 protected void m_3547135(TridentEntity tridentEntity, double d, doub 48 protected void m_3547135(TridentEntity tridentEntity, double d, doub .. le e, double f, float g, float h) { .. le e, double f, float g, float h) { 49 Entity entity = tridentEntity.shooter; 49 Entity entity = tridentEntity.getEntity(); 50 if (entity != null && tridentEntity.isNoClip()) { 50 if (entity != null && tridentEntity.isNoClip()) { 51 Tessellator tessellator = Tessellator.getInstance(); 51 Tessellator tessellator = Tessellator.getInstance(); 52 BufferBuilder bufferBuilder = tessellator.getBuilder(); 52 BufferBuilder bufferBuilder = tessellator.getBuilder(); net/minecraft/network/packet/c2s/play/EditBookC2SPacket.java --- 1/2 --- Java 7 import net.minecraft.network.PacketByteBuf; 7 import net.minecraft.network.PacketByteBuf; 8 import net.minecraft.network.packet.Packet; 8 import net.minecraft.network.packet.Packet; 9 import net.minecraft.server.network.handler.ServerPlayPacketHandler; 9 import net.minecraft.server.network.handler.ServerPlayPacketHandler; . 10 import net.minecraft.world.InteractionHand; 10 11 11 public class EditBookC2SPacket implements Packet<ServerPlayPacketHandle 12 public class EditBookC2SPacket implements Packet<ServerPlayPacketHandle .. r> { .. r> { 12 private ItemStack book; 13 private ItemStack book; 13 private boolean sign; 14 private boolean sign; .. 15 private InteractionHand hand; 14 16 15 public EditBookC2SPacket() { 17 public EditBookC2SPacket() { 16 } 18 } 17 19 18 @Environment(EnvType.CLIENT) 20 @Environment(EnvType.CLIENT) 19 public EditBookC2SPacket(ItemStack itemStack, boolean bl) { 21 public EditBookC2SPacket(ItemStack itemStack, boolean bl, Interactio .. .. nHand interactionHand) { 20 this.book = itemStack.copy(); 22 this.book = itemStack.copy(); 21 this.sign = bl; 23 this.sign = bl; .. 24 this.hand = interactionHand; 22 } 25 } 23 26 24 @Override 27 @Override 25 public void read(PacketByteBuf packetByteBuf) throws IOException { 28 public void read(PacketByteBuf packetByteBuf) throws IOException { 26 this.book = packetByteBuf.readItemStack(); 29 this.book = packetByteBuf.readItemStack(); 27 this.sign = packetByteBuf.readBoolean(); 30 this.sign = packetByteBuf.readBoolean(); .. 31 this.hand = packetByteBuf.readEnum(InteractionHand.class); 28 } 32 } 29 33 30 @Override 34 @Override 31 public void write(PacketByteBuf packetByteBuf) throws IOException { 35 public void write(PacketByteBuf packetByteBuf) throws IOException { 32 packetByteBuf.writeItemStack(this.book); 36 packetByteBuf.writeItemStack(this.book); 33 packetByteBuf.writeBoolean(this.sign); 37 packetByteBuf.writeBoolean(this.sign); .. 38 packetByteBuf.writeEnum(this.hand); 34 } 39 } 35 40 36 public void handle(ServerPlayPacketHandler serverPlayPacketHandler) 41 public void handle(ServerPlayPacketHandler serverPlayPacketHandler) { { net/minecraft/network/packet/c2s/play/EditBookC2SPacket.java --- 2/2 --- Java 45 return this.sign; 50 return this.sign; 46 } 51 } .. 52 .. 53 public InteractionHand getHand() { .. 54 return this.hand; .. 55 } 47 } 56 } net/minecraft/client/resource/AssetIndex.java --- 1/2 --- Java 5 import com.google.gson.JsonElement; 5 import com.google.gson.JsonElement; 6 import com.google.gson.JsonObject; 6 import com.google.gson.JsonObject; 7 import com.google.gson.JsonParseException; 7 import com.google.gson.JsonParseException; 8 import com.google.gson.JsonParser; . 9 import java.io.BufferedReader; 8 import java.io.BufferedReader; 10 import java.io.File; 9 import java.io.File; 11 import java.io.FileNotFoundException; 10 import java.io.FileNotFoundException; net/minecraft/client/resource/AssetIndex.java --- 2/2 --- Java 40 39 41 try { 40 try { 42 bufferedReader = Files.newReader(file3, StandardCharsets.UTF_8 41 bufferedReader = Files.newReader(file3, StandardCharsets.UTF_8 .. ); .. ); 43 JsonObject jsonObject = new JsonParser().parse(bufferedReader) 42 JsonObject jsonObject = JsonUtils.getJsonObject(bufferedReader .. .getAsJsonObject(); .. ); 44 JsonObject jsonObject2 = JsonUtils.getJsonObjectOrDefault(json 43 JsonObject jsonObject2 = JsonUtils.getJsonObjectOrDefault(json .. Object, "objects", null); .. Object, "objects", null); 45 if (jsonObject2 != null) { 44 if (jsonObject2 != null) { 46 for (Entry<String, JsonElement> entry : jsonObject2.entrySe 45 for (Entry<String, JsonElement> entry : jsonObject2.entrySe t()) { t()) { net/minecraft/world/gen/structure/StructureFeature.java --- 1/5 --- Java 50 StructureStart structureStart = this.getStructureFromRef 50 StructureStart structureStart = this.getStructureFromRef .. erence(worldAccess, chunkGenerator, (WorldGenRandom)random, q); .. erence(worldAccess, chunkGenerator, (WorldGenRandom)random, q); 51 if (structureStart != INVALID && structureStart.getBound 51 if (structureStart != INVALID && structureStart.getBound .. s().intersects(l, m, l + 15, m + 15)) { .. s().intersects(l, m, l + 15, m + 15)) { 52 chunkGenerator.getStructureReferences(this).computeIf 52 chunkGenerator.getStructureReferences(this).computeIf .. Absent(Long.valueOf(n), long_ -> new LongOpenHashSet()).add(q); .. Absent(Long.valueOf(n), long_ -> new LongOpenHashSet()).add(q); 53 worldAccess.getChunkSource().getChunkForWorldGen(j, k 53 worldAccess.getChunkSource().getChunkForWorldGen(j, k .. ).addStructureReference(this.getName(), q); .. , true).addStructureReference(this.getName(), q); 54 structureStart.postProcess(worldAccess, random, new S 54 structureStart.postProcess(worldAccess, random, new S .. tructureBox(l, m, l + 15, m + 15), new ChunkPos(j, k)); .. tructureBox(l, m, l + 15, m + 15), new ChunkPos(j, k)); 55 structureStart.postPlacement(new ChunkPos(j, k)); 55 structureStart.postPlacement(new ChunkPos(j, k)); 56 bl = true; 56 bl = true; net/minecraft/world/gen/structure/StructureFeature.java --- 2/5 --- Java 135 long l = ChunkPos.toLong(i, j); 135 long l = ChunkPos.toLong(i, j); 136 LongSet longSet = long2ObjectMap2.get(l); 136 LongSet longSet = long2ObjectMap2.get(l); 137 if (longSet == null) { 137 if (longSet == null) { 138 longSet = worldAccess.getChunkSource().getChunkForWorldGen(i, 138 longSet = worldAccess.getChunkSource().getChunkForWorldGen(i, ... j).getStructureReferences(this.getName()); ... j, true).getStructureReferences(this.getName()); 139 long2ObjectMap2.put(l, longSet); 139 long2ObjectMap2.put(l, longSet); 140 } 140 } 141 141 net/minecraft/world/gen/structure/StructureFeature.java --- 3/5 --- Java 145 list.add(structureStart); 145 list.add(structureStart); 146 } else { 146 } else { 147 ChunkPos chunkPos = new ChunkPos(long_); 147 ChunkPos chunkPos = new ChunkPos(long_); 148 ChunkAccess chunkAccess = worldAccess.getChunkSource().get 148 ChunkAccess chunkAccess = worldAccess.getChunkSource().get ... ChunkForWorldGen(chunkPos.x, chunkPos.z); ... ChunkForWorldGen(chunkPos.x, chunkPos.z, true); 149 structureStart = chunkAccess.getStructureStart(this.getNam 149 structureStart = chunkAccess.getStructureStart(this.getNam ... e()); ... e()); 150 if (structureStart != null) { 150 if (structureStart != null) { 151 long2ObjectMap.put(long_, structureStart); 151 long2ObjectMap.put(long_, structureStart); net/minecraft/world/gen/structure/StructureFeature.java --- 4/5 --- Java 169 return structureStart; 169 return structureStart; 170 } else { 170 } else { 171 ChunkPos chunkPos = new ChunkPos(l); 171 ChunkPos chunkPos = new ChunkPos(l); ... 172 ChunkAccess chunkAccess = worldAccess.getChunkSource().get ... ... ChunkForWorldGen(chunkPos.x, chunkPos.z, false); 172 if (worldAccess.getChunkSource().doesChunkExist(chunkPos.x 173 if (chunkAccess != null) { ... , chunkPos.z)) { ... 173 structureStart = worldAccess.getChunkSource().getChunkF 174 structureStart = chunkAccess.getStructureStart(this.get ... orWorldGen(chunkPos.x, chunkPos.z).getStructureStart(this.getName()); ... Name()); 174 if (structureStart != null) { 175 if (structureStart != null) { 175 long2ObjectMap.put(l, structureStart); 176 long2ObjectMap.put(l, structureStart); 176 return structureStart; 177 return structureStart; net/minecraft/world/gen/structure/StructureFeature.java --- 5/5 --- Java 185 } 186 } 186 187 187 if (structureStart.isValid()) { 188 if (structureStart.isValid()) { 188 worldAccess.getChunkSource().getChunkForWorldGen(chunkP 189 worldAccess.getChunkSource().getChunkForWorldGen(chunkP ... os.x, chunkPos.z).setStructureStart(this.getName(), structureStart); ... os.x, chunkPos.z, true).setStructureStart(this.getName(), structureSta ... ... rt); 189 } 190 } 190 191 191 long2ObjectMap.put(l, structureStart); 192 long2ObjectMap.put(l, structureStart); net/minecraft/fluid/FlowingFluid.java --- Java 183 return this.asFlowing(8, true); 183 return this.asFlowing(8, true); 184 } else { 184 } else { 185 int k = i - this.getLevelDrop(worldView); 185 int k = i - this.getLevelDrop(worldView); 186 return k <= 0 ? Fluids.EMPTY.defaultState() : this.asFlowing( 186 return k <= 0 ? Fluids.EMPTY.defaultState() : this.asFlowing( ... k, fluidState3.getFluid().is(this)); ... k, false); 187 } 187 } 188 } 188 } 189 189 net/minecraft/entity/living/player/PlayerEntity.java --- 1/2 --- Java 777 @Override 777 @Override 778 public void writeCustomNbt(NbtCompound nbtCompound) { 778 public void writeCustomNbt(NbtCompound nbtCompound) { 779 super.writeCustomNbt(nbtCompound); 779 super.writeCustomNbt(nbtCompound); 780 nbtCompound.putInt("DataVersion", 1519); 780 nbtCompound.putInt("DataVersion", 1620); 781 nbtCompound.put("Inventory", this.inventory.writeNbt(new NbtList 781 nbtCompound.put("Inventory", this.inventory.writeNbt(new NbtList ... ())); ... ())); 782 nbtCompound.putInt("SelectedItemSlot", this.inventory.selectedSl 782 nbtCompound.putInt("SelectedItemSlot", this.inventory.selectedSl ... ot); ... ot); 783 nbtCompound.putBoolean("Sleeping", this.sleeping); 783 nbtCompound.putBoolean("Sleeping", this.sleeping); net/minecraft/entity/living/player/PlayerEntity.java --- 2/2 --- Java 1482 1482 1483 @Override 1483 @Override 1484 public void updateSwimming() { 1484 public void updateSwimming() { 1485 BlockPos blockPos = new BlockPos(this); .... 1486 BlockPos blockPos2 = blockPos.up(); .... 1487 if (this.abilities.flying) { 1485 if (this.abilities.flying) { 1488 this.setSwimming(false); 1486 this.setSwimming(false); 1489 } else if (!this.isSwimming() || this.doesNotSuffocate(blockPos 1487 } else { .... ) && !this.world.getBlockState(blockPos2).getMaterial().blocksMovemen .... .... t()) { .... 1490 super.updateSwimming(); 1488 super.updateSwimming(); 1491 } 1489 } 1492 } 1490 } 1493 1491 .... 1492 @Environment(EnvType.CLIENT) 1494 protected boolean doesNotSuffocate(BlockPos blockPos) { 1493 protected boolean doesNotSuffocate(BlockPos blockPos) { 1495 return this.shouldSuffocate(blockPos) && !this.world.getBlockSt 1494 return this.shouldSuffocate(blockPos) && !this.world.getBlockSt .... ate(blockPos.up()).isConductor(); .... ate(blockPos.up()).isConductor(); 1496 } 1495 } 1497 1496 .... 1497 @Environment(EnvType.CLIENT) 1498 protected boolean shouldSuffocate(BlockPos blockPos) { 1498 protected boolean shouldSuffocate(BlockPos blockPos) { 1499 return !this.world.getBlockState(blockPos).isConductor(); 1499 return !this.world.getBlockState(blockPos).isConductor(); 1500 } 1500 } net/minecraft/block/state/predicate/SinglePropertyBlockStatePredicateFactory.java --- 1/3 --- Java 5 import java.util.List; 5 import java.util.List; 6 import java.util.Optional; 6 import java.util.Optional; 7 import java.util.function.Predicate; 7 import java.util.function.Predicate; . 8 import java.util.stream.Collectors; 8 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.Environment; 10 import net.fabricmc.api.Environment; 10 import net.minecraft.block.Block; 11 import net.minecraft.block.Block; net/minecraft/block/state/predicate/SinglePropertyBlockStatePredicateFactory.java --- 2/3 --- Java 27 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo 28 public Predicate<BlockState> getPredicate(StateDefinition<Block, Blo .. ckState> stateDefinition) { .. ckState> stateDefinition) { 28 Property<?> property = stateDefinition.getProperty(this.key); 29 Property<?> property = stateDefinition.getProperty(this.key); 29 if (property == null) { 30 if (property == null) { 30 throw new RuntimeException(this + ": Definition: " + stateDefi 31 throw new RuntimeException(String.format("Unknown property '%s .. nition + " has no property: " + this.key); .. ' on '%s'", this.key, stateDefinition.owner().toString())); 31 } else { 32 } else { 32 String string = this.value; 33 String string = this.value; 33 boolean bl = !string.isEmpty() && string.charAt(0) == '!'; 34 boolean bl = !string.isEmpty() && string.charAt(0) == '!'; net/minecraft/block/state/predicate/SinglePropertyBlockStatePredicateFactory.java --- 3/3 --- Java 37 38 38 List<String> list = SPLITTER.splitToList(string); 39 List<String> list = SPLITTER.splitToList(string); 39 if (list.isEmpty()) { 40 if (list.isEmpty()) { 40 throw new RuntimeException(this + ": has an empty value: " 41 throw new RuntimeException(String.format("Empty value '%s' .. + this.value); .. for property '%s' on '%s'", this.value, this.key, stateDefinition.owner .. .. ().toString())); 41 } else { 42 } else { 42 Predicate<BlockState> predicate; 43 Predicate<BlockState> predicate; 43 if (list.size() == 1) { 44 if (list.size() == 1) { 44 predicate = this.ofValue(property, string); 45 predicate = this.ofValue(stateDefinition, property, stri .. .. ng); 45 } else { 46 } else { 46 predicate = blockState -> list.stream().anyMatch(stringx 47 List<Predicate<BlockState>> list2 = list.stream().map(st .. -> this.ofValue(property, stringx).test(blockState)); .. ringx -> this.ofValue(stateDefinition, property, stringx)).collect(Coll .. .. ectors.toList()); .. 48 predicate = blockState -> list2.stream().anyMatch(predic .. .. atex -> predicatex.test(blockState)); 47 } 49 } 48 50 49 return bl ? predicate.negate() : predicate; 51 return bl ? predicate.negate() : predicate; 50 } 52 } 51 } 53 } 52 } 54 } 53 55 54 private Predicate<BlockState> ofValue(Property<?> property, String s 56 private Predicate<BlockState> ofValue(StateDefinition<Block, BlockSt .. tring) { .. ate> stateDefinition, Property<?> property, String string) { 55 Optional<?> optional = property.getValue(string); 57 Optional<?> optional = property.getValue(string); 56 if (!optional.isPresent()) { 58 if (!optional.isPresent()) { 57 throw new RuntimeException(this + ": has an unknown value: " + 59 throw new RuntimeException( .. this.value); .. .. 60 String.format("Unknown value '%s' for property '%s' on '%s' .. .. in '%s'", string, this.key, stateDefinition.owner().toString(), this.v .. .. alue) .. 61 ); 58 } else { 62 } else { 59 return blockState -> blockState.get(property).equals(optional. 63 return blockState -> blockState.get(property).equals(optional. get()); get()); net/minecraft/client/gui/screen/inventory/menu/EnchantingTableScreen.java --- Java 49 49 50 @Override 50 @Override 51 protected void drawForeground(int i, int j) { 51 protected void drawForeground(int i, int j) { 52 this.textRenderer.draw(this.inventory.getDisplayName().getString( 52 this.textRenderer.draw(this.inventory.getDisplayName().getFormatt .. ), 12.0F, 5.0F, 4210752); .. edString(), 12.0F, 5.0F, 4210752); 53 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 53 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 54 } 54 } 55 55 56 @Override 56 @Override net/minecraft/client/gui/screen/WrappedRealmsScreen.java --- 1/2 --- Java 13 import net.minecraft.realms.RealmsButton; 13 import net.minecraft.realms.RealmsButton; 14 import net.minecraft.realms.RealmsGuiEventListener; 14 import net.minecraft.realms.RealmsGuiEventListener; 15 import net.minecraft.realms.RealmsScreen; 15 import net.minecraft.realms.RealmsScreen; .. 16 import org.apache.logging.log4j.LogManager; .. 17 import org.apache.logging.log4j.Logger; 16 18 17 @Environment(EnvType.CLIENT) 19 @Environment(EnvType.CLIENT) 18 public class WrappedRealmsScreen extends Screen { 20 public class WrappedRealmsScreen extends Screen { 19 private final RealmsScreen screen; 21 private final RealmsScreen screen; .. 22 private static final Logger f_2051766 = LogManager.getLogger(); 20 23 21 public WrappedRealmsScreen(RealmsScreen realmsScreen) { 24 public WrappedRealmsScreen(RealmsScreen realmsScreen) { 22 this.screen = realmsScreen; 25 this.screen = realmsScreen; net/minecraft/client/gui/screen/WrappedRealmsScreen.java --- 2/2 --- Java 123 } 126 } 124 127 125 public void m_5349413(RealmsGuiEventListener realmsGuiEventListener 128 public void m_5349413(RealmsGuiEventListener realmsGuiEventListener ... ) { ... ) { 126 this.children.add(realmsGuiEventListener.getProxy()); 129 if (this.m_0783198(realmsGuiEventListener) || !this.children.add ... ... (realmsGuiEventListener.getProxy())) { ... 130 f_2051766.error("Tried to add the same widget multiple times: ... ... " + realmsGuiEventListener); ... 131 } 127 } 132 } 128 133 129 public void m_3806739(RealmsGuiEventListener realmsGuiEventListener 134 public void m_3806739(RealmsGuiEventListener realmsGuiEventListener ... ) { ... ) { 130 boolean bl = this.children.remove(realmsGuiEventListener.getProx 135 if (!this.m_0783198(realmsGuiEventListener) || !this.children.re ... y()); ... move(realmsGuiEventListener.getProxy())) { 131 if (!bl) { ... 132 throw new IllegalStateException("Child not present in child l 136 f_2051766.error("Tried to add the same widget multiple times: ... ist:" + realmsGuiEventListener); ... " + realmsGuiEventListener); 133 } 137 } 134 } 138 } ... 139 ... 140 public boolean m_0783198(RealmsGuiEventListener realmsGuiEventListe ... ... ner) { ... 141 return this.children.contains(realmsGuiEventListener.getProxy()) ... ... ; ... 142 } 135 143 136 public void removeButton(RealmsButton realmsButton) { 144 public void removeButton(RealmsButton realmsButton) { 137 this.addButton(realmsButton.getProxy()); 145 this.addButton(realmsButton.getProxy()); net/minecraft/client/render/Effect.java --- 1/7 --- Java 5 import com.google.gson.JsonArray; 5 import com.google.gson.JsonArray; 6 import com.google.gson.JsonElement; 6 import com.google.gson.JsonElement; 7 import com.google.gson.JsonObject; 7 import com.google.gson.JsonObject; 8 import com.google.gson.JsonParser; . 9 import com.mojang.blaze3d.pipeline.RenderTarget; 8 import com.mojang.blaze3d.pipeline.RenderTarget; 10 import com.mojang.blaze3d.platform.GLX; 9 import com.mojang.blaze3d.platform.GLX; 11 import com.mojang.blaze3d.platform.GlStateManager; 10 import com.mojang.blaze3d.platform.GlStateManager; net/minecraft/client/render/Effect.java --- 2/7 --- Java 15 import com.mojang.blaze3d.shaders.ProgramManager; 14 import com.mojang.blaze3d.shaders.ProgramManager; 16 import com.mojang.blaze3d.shaders.Uniform; 15 import com.mojang.blaze3d.shaders.Uniform; 17 import java.io.IOException; 16 import java.io.IOException; .. 17 import java.io.InputStreamReader; 18 import java.nio.charset.StandardCharsets; 18 import java.nio.charset.StandardCharsets; 19 import java.util.List; 19 import java.util.List; 20 import java.util.Map; 20 import java.util.Map; net/minecraft/client/render/Effect.java --- 3/7 --- Java 54 private final Program fragmentProgram; 54 private final Program fragmentProgram; 55 55 56 public Effect(ResourceManager resourceManager, String string) throws 56 public Effect(ResourceManager resourceManager, String string) throws .. IOException { .. IOException { 57 JsonParser jsonParser = new JsonParser(); .. 58 Identifier identifier = new Identifier("shaders/program/" + strin 57 Identifier identifier = new Identifier("shaders/program/" + strin .. g + ".json"); .. g + ".json"); 59 this.name = string; 58 this.name = string; 60 Resource resource = null; 59 Resource resource = null; 61 60 62 try { 61 try { 63 resource = resourceManager.getResource(identifier); 62 resource = resourceManager.getResource(identifier); 64 JsonObject jsonObject = jsonParser.parse(IOUtils.toString(reso 63 JsonObject jsonObject = JsonUtils.getJsonObject(new InputStrea .. urce.asStream(), StandardCharsets.UTF_8)).getAsJsonObject(); .. mReader(resource.asStream(), StandardCharsets.UTF_8)); 65 String string2 = JsonUtils.getString(jsonObject, "vertex"); 64 String string2 = JsonUtils.getString(jsonObject, "vertex"); 66 String string3 = JsonUtils.getString(jsonObject, "fragment"); 65 String string3 = JsonUtils.getString(jsonObject, "fragment"); 67 JsonArray jsonArray = JsonUtils.getJsonArrayOrDefault(jsonObje 66 JsonArray jsonArray = JsonUtils.getJsonArrayOrDefault(jsonObje ct, "samplers", null); ct, "samplers", null); net/minecraft/client/render/Effect.java --- 4/7 --- Java 71 for (JsonElement jsonElement : jsonArray) { 70 for (JsonElement jsonElement : jsonArray) { 72 try { 71 try { 73 this.parseSamplerNode(jsonElement); 72 this.parseSamplerNode(jsonElement); 74 } catch (Exception var25) { 73 } catch (Exception var24) { 75 ChainedJsonException chainedJsonException = ChainedJs 74 ChainedJsonException chainedJsonException = ChainedJs .. onException.forException(var25); .. onException.forException(var24); 76 chainedJsonException.prependJsonKey("samplers[" + i + 75 chainedJsonException.prependJsonKey("samplers[" + i + .. "]"); .. "]"); 77 throw chainedJsonException; 76 throw chainedJsonException; 78 } 77 } net/minecraft/client/render/Effect.java --- 5/7 --- Java 90 for (JsonElement jsonElement2 : jsonArray2) { 89 for (JsonElement jsonElement2 : jsonArray2) { 91 try { 90 try { 92 this.attributeNames.add(JsonUtils.asString(jsonElemen 91 this.attributeNames.add(JsonUtils.asString(jsonElemen .. t2, "attribute")); .. t2, "attribute")); 93 } catch (Exception var24) { 92 } catch (Exception var23) { 94 ChainedJsonException chainedJsonException2 = ChainedJ 93 ChainedJsonException chainedJsonException2 = ChainedJ .. sonException.forException(var24); .. sonException.forException(var23); 95 chainedJsonException2.prependJsonKey("attributes[" + 94 chainedJsonException2.prependJsonKey("attributes[" + .. j + "]"); .. j + "]"); 96 throw chainedJsonException2; 95 throw chainedJsonException2; 97 } 96 } net/minecraft/client/render/Effect.java --- 6/7 --- Java 110 for (JsonElement jsonElement3 : jsonArray3) { 109 for (JsonElement jsonElement3 : jsonArray3) { 111 try { 110 try { 112 this.parseUniformNode(jsonElement3); 111 this.parseUniformNode(jsonElement3); 113 } catch (Exception var23) { 112 } catch (Exception var22) { 114 ChainedJsonException chainedJsonException3 = Chained 113 ChainedJsonException chainedJsonException3 = Chained ... JsonException.forException(var23); ... JsonException.forException(var22); 115 chainedJsonException3.prependJsonKey("uniforms[" + k 114 chainedJsonException3.prependJsonKey("uniforms[" + k ... + "]"); ... + "]"); 116 throw chainedJsonException3; 115 throw chainedJsonException3; 117 } 116 } net/minecraft/client/render/Effect.java --- 7/7 --- Java 133 this.attributes.add(l); 132 this.attributes.add(l); 134 } 133 } 135 } 134 } 136 } catch (Exception var26) { 135 } catch (Exception var25) { 137 ChainedJsonException chainedJsonException4 = ChainedJsonExcep 136 ChainedJsonException chainedJsonException4 = ChainedJsonExcep ... tion.forException(var26); ... tion.forException(var25); 138 chainedJsonException4.setFileNameAndFlush(identifier.getPath( 137 chainedJsonException4.setFileNameAndFlush(identifier.getPath( ... )); ... )); 139 throw chainedJsonException4; 138 throw chainedJsonException4; 140 } finally { 139 } finally { net/minecraft/command/argument/BlockStateParser.java --- 1/7 --- Java 39 (object, object2) -> new TranslatableText("argument.block.propert 39 (object, object2) -> new TranslatableText("argument.block.propert .. y.unknown", object, object2) .. y.unknown", object, object2) 40 ); 40 ); 41 public static final Dynamic2CommandExceptionType DUPLICATE_PROPERTY_ 41 public static final Dynamic2CommandExceptionType DUPLICATE_PROPERTY_ .. EXCEPTION = new Dynamic2CommandExceptionType( .. EXCEPTION = new Dynamic2CommandExceptionType( 42 (object, object2) -> new TranslatableText("argument.block.propert 42 (object, object2) -> new TranslatableText("argument.block.propert .. y.duplicate", object, object2) .. y.duplicate", object2, object) 43 ); 43 ); 44 public static final Dynamic3CommandExceptionType INVALID_PROPERTY_EX 44 public static final Dynamic3CommandExceptionType INVALID_PROPERTY_EX .. CEPTION = new Dynamic3CommandExceptionType( .. CEPTION = new Dynamic3CommandExceptionType( 45 (object, object2, object3) -> new TranslatableText("argument.bloc 45 (object, object2, object3) -> new TranslatableText("argument.bloc .. k.property.invalid", object, object2, object3) .. k.property.invalid", object, object3, object2) 46 ); 46 ); 47 public static final Dynamic2CommandExceptionType NO_VALUE_EXCEPTION 47 public static final Dynamic2CommandExceptionType NO_VALUE_EXCEPTION .. = new Dynamic2CommandExceptionType( .. = new Dynamic2CommandExceptionType( 48 (object, object2) -> new TranslatableText("argument.block.propert 48 (object, object2) -> new TranslatableText("argument.block.propert y.novalue", object, object2) y.novalue", object, object2) net/minecraft/command/argument/BlockStateParser.java --- 2/7 --- Java 92 this.suggestions = this::suggestBlockIdOrTag; 92 this.suggestions = this::suggestBlockIdOrTag; 93 if (this.reader.canRead() && this.reader.peek() == '#') { 93 if (this.reader.canRead() && this.reader.peek() == '#') { 94 this.parseTag(); 94 this.parseTag(); .. 95 this.suggestions = this::suggestStartVaguePropertyOrNbt; 95 if (this.reader.canRead() && this.reader.peek() == '[') { 96 if (this.reader.canRead() && this.reader.peek() == '[') { 96 this.parseVagueProperties(); 97 this.parseVagueProperties(); 97 this.suggestions = this::suggestNbtStart; 98 this.suggestions = this::suggestNbtStart; net/minecraft/command/argument/BlockStateParser.java --- 3/7 --- Java 101 this.suggestions = this::suggestStartPropertiesOrNbt; 102 this.suggestions = this::suggestStartPropertiesOrNbt; 102 if (this.reader.canRead() && this.reader.peek() == '[') { 103 if (this.reader.canRead() && this.reader.peek() == '[') { 103 this.parseProperties(); 104 this.parseProperties(); ... 105 this.suggestions = this::suggestNbtStart; 104 } 106 } 105 ... 106 this.suggestions = this::suggestNbtStart; ... 107 } 107 } 108 108 109 if (bl && this.reader.canRead() && this.reader.peek() == '{') { 109 if (bl && this.reader.canRead() && this.reader.peek() == '{') { net/minecraft/command/argument/BlockStateParser.java --- 4/7 --- Java 119 suggestionsBuilder.suggest(String.valueOf(']')); 119 suggestionsBuilder.suggest(String.valueOf(']')); 120 } 120 } 121 ... 122 String string = suggestionsBuilder.getRemaining().toLowerCase(Lo ... ... cale.ROOT); ... 123 ... 124 for (Property<?> property : this.state.properties()) { ... 125 if (!this.properties.containsKey(property) && property.getNam ... ... e().startsWith(string)) { ... 126 suggestionsBuilder.suggest(property.getName()); ... 127 } ... 128 } ... 129 121 130 return suggestionsBuilder.buildFuture(); 122 return this.suggestProperty(suggestionsBuilder); 131 } 123 } 132 124 133 private CompletableFuture<Suggestions> suggestVaguePropertyOrEnd(Su 125 private CompletableFuture<Suggestions> suggestVaguePropertyOrEnd(Su ggestionsBuilder suggestionsBuilder) { ggestionsBuilder suggestionsBuilder) { net/minecraft/command/argument/BlockStateParser.java --- 5/7 --- Java 169 } 161 } 170 162 171 private CompletableFuture<Suggestions> suggestNbtStart(SuggestionsB 163 private CompletableFuture<Suggestions> suggestNbtStart(SuggestionsB ... uilder suggestionsBuilder) { ... uilder suggestionsBuilder) { 172 if (suggestionsBuilder.getRemaining().isEmpty() && (this.state = 164 if (suggestionsBuilder.getRemaining().isEmpty() && this.hasNbt() ... = null || this.state.getBlock().hasBlockEntity())) { ... ) { 173 suggestionsBuilder.suggest(String.valueOf('{')); 165 suggestionsBuilder.suggest(String.valueOf('{')); 174 } 166 } 175 167 176 return suggestionsBuilder.buildFuture(); 168 return suggestionsBuilder.buildFuture(); 177 } 169 } ... 170 ... 171 private boolean hasNbt() { ... 172 if (this.state != null) { ... 173 return this.state.getBlock().hasBlockEntity(); ... 174 } else { ... 175 if (this.tag != null) { ... 176 Tag<Block> tag = BlockTags.getAll().get(this.tag); ... 177 if (tag != null) { ... 178 for (Block block : tag.values()) { ... 179 if (block.hasBlockEntity()) { ... 180 return true; ... 181 } ... 182 } ... 183 } ... 184 } ... 185 ... 186 return false; ... 187 } ... 188 } 178 189 179 private CompletableFuture<Suggestions> suggestPropertyValueSeparato 190 private CompletableFuture<Suggestions> suggestPropertyValueSeparato ... r(SuggestionsBuilder suggestionsBuilder) { ... r(SuggestionsBuilder suggestionsBuilder) { 180 if (suggestionsBuilder.getRemaining().isEmpty()) { 191 if (suggestionsBuilder.getRemaining().isEmpty()) { net/minecraft/command/argument/BlockStateParser.java --- 6/7 --- Java 239 return suggestionsBuilder.buildFuture(); 250 return suggestionsBuilder.buildFuture(); 240 } 251 } ... 252 ... 253 private CompletableFuture<Suggestions> suggestStartVaguePropertyOrN ... ... bt(SuggestionsBuilder suggestionsBuilder) { ... 254 if (suggestionsBuilder.getRemaining().isEmpty()) { ... 255 Tag<Block> tag = BlockTags.getAll().get(this.tag); ... 256 if (tag != null) { ... 257 boolean bl = false; ... 258 boolean bl2 = false; ... 259 ... 260 for (Block block : tag.values()) { ... 261 bl |= !block.stateDefinition().properties().isEmpty(); ... 262 bl2 |= block.hasBlockEntity(); ... 263 if (bl && bl2) { ... 264 break; ... 265 } ... 266 } ... 267 ... 268 if (bl) { ... 269 suggestionsBuilder.suggest(String.valueOf('[')); ... 270 } ... 271 ... 272 if (bl2) { ... 273 suggestionsBuilder.suggest(String.valueOf('{')); ... 274 } ... 275 } ... 276 } ... 277 ... 278 return this.suggestTag(suggestionsBuilder); ... 279 } 241 280 242 private CompletableFuture<Suggestions> suggestStartPropertiesOrNbt( 281 private CompletableFuture<Suggestions> suggestStartPropertiesOrNbt( ... SuggestionsBuilder suggestionsBuilder) { ... SuggestionsBuilder suggestionsBuilder) { 243 if (suggestionsBuilder.getRemaining().isEmpty()) { 282 if (suggestionsBuilder.getRemaining().isEmpty()) { net/minecraft/command/argument/BlockStateParser.java --- 7/7 --- Java 254 } 293 } 255 294 256 private CompletableFuture<Suggestions> suggestTag(SuggestionsBuilde 295 private CompletableFuture<Suggestions> suggestTag(SuggestionsBuilde ... r suggestionsBuilder) { ... r suggestionsBuilder) { 257 return SuggestionProvider.suggestResource(BlockTags.getAll().get 296 return SuggestionProvider.suggestResource(BlockTags.getAll().get ... Keys(), suggestionsBuilder.createOffset(this.cursor)); ... Keys(), suggestionsBuilder.createOffset(this.cursor).add(suggestionsBu ... ... ilder)); 258 } 297 } 259 298 260 private CompletableFuture<Suggestions> suggestBlockIdOrTag(Suggesti 299 private CompletableFuture<Suggestions> suggestBlockIdOrTag(Suggesti onsBuilder suggestionsBuilder) { onsBuilder suggestionsBuilder) { net/minecraft/unmapped/C_3133390.java --- 1/2 --- Java 102 class C_6583539 implements RawGlyph { 102 class C_6583539 implements RawGlyph { 103 private final int f_4330525; 103 private final int f_4330525; 104 private final int f_2614469; 104 private final int f_2614469; 105 private final float f_6135174; ... 106 private final float f_2529192; 105 private final float f_2529192; 107 private final float f_4409487; ... 108 private final float f_1035191; 106 private final float f_1035191; 109 private final float f_4158232; ... 110 private final float f_2438363; 107 private final float f_2438363; 111 private final int f_0383468; 108 private final int f_0383468; 112 109 113 private C_6583539(int i, int j, int k, int l, float f, float g, 110 private C_6583539(int i, int j, int k, int l, float f, float g, ... int m) { ... int m) { 114 this.f_4330525 = j - i; 111 this.f_4330525 = j - i; 115 this.f_2614469 = k - l; 112 this.f_2614469 = k - l; 116 this.f_2438363 = f; 113 this.f_2438363 = f / C_3133390.this.f_4824026; 117 this.f_6135174 = g; ... 118 this.f_2529192 = (float)i; 114 this.f_2529192 = (g + (float)i + C_3133390.this.f_6003537) / ... ... C_3133390.this.f_4824026; 119 this.f_4409487 = (float)j; ... 120 this.f_1035191 = (float)k; 115 this.f_1035191 = (C_3133390.this.f_0696110 - (float)k + C_313 ... ... 3390.this.f_0867679) / C_3133390.this.f_4824026; 121 this.f_4158232 = (float)l; ... 122 this.f_0383468 = m; 116 this.f_0383468 = m; 123 } 117 } 124 118 net/minecraft/unmapped/C_3133390.java --- 2/2 --- Java 138 } 132 } 139 133 140 @Override 134 @Override 141 public float m_7423871() { 135 public float getAdvance() { 142 return this.f_2438363 / C_3133390.this.f_4824026; 136 return this.f_2438363; 143 } 137 } 144 138 145 @Override 139 @Override 146 public float m_7032718() { 140 public float getBearingX() { 147 return (this.f_6135174 + this.f_2529192 + C_3133390.this.f_60 141 return this.f_2529192; ... 03537) / C_3133390.this.f_4824026; ... 148 } 142 } 149 143 150 @Override 144 @Override 151 public float m_6732963() { 145 public float getBearingY() { 152 return (C_3133390.this.f_0696110 - this.f_1035191 + C_3133390 146 return this.f_1035191; ... .this.f_0867679) / C_3133390.this.f_4824026; ... 153 } 147 } 154 148 155 @Override 149 @Override net/minecraft/client/gui/screen/inventory/menu/HorseScreen.java --- Java 30 30 31 @Override 31 @Override 32 protected void drawForeground(int i, int j) { 32 protected void drawForeground(int i, int j) { 33 this.textRenderer.draw(this.chestInventory.getDisplayName().getSt 33 this.textRenderer.draw(this.chestInventory.getDisplayName().getFo .. ring(), 8.0F, 6.0F, 4210752); .. rmattedString(), 8.0F, 6.0F, 4210752); 34 this.textRenderer.draw(this.armorInventory.getDisplayName().getSt 34 this.textRenderer.draw(this.armorInventory.getDisplayName().getFo .. ring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. rmattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752 .. .. ); 35 } 35 } 36 36 37 @Override 37 @Override net/minecraft/block/FarmlandBlock.java --- Java 98 super.onFallenOn(world, blockPos, entity, f); 98 super.onFallenOn(world, blockPos, entity, f); 99 } 99 } 100 100 101 protected static void setDirt(BlockState blockState, World world, B 101 public static void setDirt(BlockState blockState, World world, Bloc ... lockPos blockPos) { ... kPos blockPos) { 102 world.setBlockState(blockPos, pushEntitiesUp(blockState, Blocks. 102 world.setBlockState(blockPos, pushEntitiesUp(blockState, Blocks. ... DIRT.defaultState(), world, blockPos)); ... DIRT.defaultState(), world, blockPos)); 103 } 103 } 104 104 net/minecraft/command/argument/EntitySelectorParser.java --- Java 288 288 289 if (this.reader.canRead()) { 289 if (this.reader.canRead()) { 290 this.reader.skip(); 290 this.reader.skip(); ... 291 this.suggestions = NO_SUGGESTIONS; 291 } else { 292 } else { 292 throw UNTERMINATED_OPTIONS_EXCEPTION.createWithContext(this.r 293 throw UNTERMINATED_OPTIONS_EXCEPTION.createWithContext(this.r ... eader); ... eader); 293 } 294 } net/minecraft/util/datafix/DataFixes.java --- Java 138 LOGGER.error("Unable to build datafixers", throwable); 138 LOGGER.error("Unable to build datafixers", throwable); 139 Runtime.getRuntime().exit(1); 139 Runtime.getRuntime().exit(1); 140 }).setDaemon(true).setNameFormat("Bootstrap %d").build()); 140 }).setDaemon(true).setNameFormat("Bootstrap %d").build()); 141 DataFixerBuilder dataFixerBuilder = new DataFixerBuilder(1519); 141 DataFixerBuilder dataFixerBuilder = new DataFixerBuilder(1620); 142 addFixes(dataFixerBuilder); 142 addFixes(dataFixerBuilder); 143 return dataFixerBuilder.build(executorService); 143 return dataFixerBuilder.build(executorService); 144 } 144 } net/minecraft/unmapped/C_3653861.java --- Java 1 package net.minecraft.unmapped; 2 3 import com.mojang.blaze3d.font.GlyphInfo; 4 import com.mojang.blaze3d.vertex.BufferBuilder; 5 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.Environment; 8 import net.minecraft.client.render.texture.TextureManager; 9 import net.minecraft.resource.Identifier; 10 11 @Environment(EnvType.CLIENT) 12 public class C_3653861 implements GlyphInfo { 13 private final int f_2477903; 14 15 public C_3653861(int i) { 16 this.f_2477903 = i; 17 } 18 19 @Override 20 public float m_8530833() { 21 return (float)this.f_2477903; 22 } 23 24 @Override 25 public void m_8715475(TextureManager textureManager, boolean bl, float f, float g, BufferBuilder bufferBuilder, float h, float i, float j, float k) { 26 } 27 28 @Nullable 29 @Override 30 public Identifier m_6048751() { 31 return null; 32 } 33 } 34 net/minecraft/world/gen/structure/template/StructureTemplate.java --- Java 540 540 541 nbtCompound.put("entities", nbtList4); 541 nbtCompound.put("entities", nbtList4); 542 nbtCompound.put("size", this.newIntList(this.size.getX(), this.s 542 nbtCompound.put("size", this.newIntList(this.size.getX(), this.s ... ize.getY(), this.size.getZ())); ... ize.getY(), this.size.getZ())); 543 nbtCompound.putInt("DataVersion", 1519); 543 nbtCompound.putInt("DataVersion", 1620); 544 return nbtCompound; 544 return nbtCompound; 545 } 545 } 546 546 net/minecraft/network/packet/c2s/play/CommandSuggestionsC2SPacket.java --- Java 23 @Override 23 @Override 24 public void read(PacketByteBuf packetByteBuf) throws IOException { 24 public void read(PacketByteBuf packetByteBuf) throws IOException { 25 this.id = packetByteBuf.readVarInt(); 25 this.id = packetByteBuf.readVarInt(); 26 this.command = packetByteBuf.readString(256); 26 this.command = packetByteBuf.readString(32500); 27 } 27 } 28 28 29 @Override 29 @Override 30 public void write(PacketByteBuf packetByteBuf) throws IOException { 30 public void write(PacketByteBuf packetByteBuf) throws IOException { 31 packetByteBuf.writeVarInt(this.id); 31 packetByteBuf.writeVarInt(this.id); 32 packetByteBuf.writeString(this.command); 32 packetByteBuf.writeString(this.command, 32500); 33 } 33 } 34 34 35 public void handle(ServerPlayPacketHandler serverPlayPacketHandler) 35 public void handle(ServerPlayPacketHandler serverPlayPacketHandler) { { net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 1/6 --- Java 26 import net.minecraft.text.Formatting; 26 import net.minecraft.text.Formatting; 27 import net.minecraft.text.LiteralText; 27 import net.minecraft.text.LiteralText; 28 import net.minecraft.text.Text; 28 import net.minecraft.text.Text; .. 29 import net.minecraft.text.TranslatableText; 29 import net.minecraft.util.math.MathHelper; 30 import net.minecraft.util.math.MathHelper; .. 31 import net.minecraft.world.InteractionHand; 30 import org.apache.logging.log4j.LogManager; 32 import org.apache.logging.log4j.LogManager; 31 import org.apache.logging.log4j.Logger; 33 import org.apache.logging.log4j.Logger; 32 34 net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 2/6 --- Java 54 private ButtonWidget signButton; 56 private ButtonWidget signButton; 55 private ButtonWidget finalizeButton; 57 private ButtonWidget finalizeButton; 56 private ButtonWidget cancelButton; 58 private ButtonWidget cancelButton; .. 59 private final InteractionHand f_7608009; 57 60 58 public BookEditScreen(PlayerEntity playerEntity, ItemStack itemStack 61 public BookEditScreen(PlayerEntity playerEntity, ItemStack itemStack .. , boolean bl) { .. , boolean bl, InteractionHand interactionHand) { 59 this.reader = playerEntity; 62 this.reader = playerEntity; 60 this.book = itemStack; 63 this.book = itemStack; 61 this.unsigned = bl; 64 this.unsigned = bl; .. 65 this.f_7608009 = interactionHand; 62 if (itemStack.hasNbt()) { 66 if (itemStack.hasNbt()) { 63 NbtCompound nbtCompound = itemStack.getNbt(); 67 NbtCompound nbtCompound = itemStack.getNbt(); 64 this.pageList = nbtCompound.getList("pages", 8).copy(); 68 this.pageList = nbtCompound.getList("pages", 8).copy(); net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 3/6 --- Java 194 this.book.addToNbt("title", new NbtString(this.title.tr 198 this.book.addToNbt("title", new NbtString(this.title.tr ... im())); ... im())); 195 } 199 } 196 200 197 this.minecraft.getNetworkHandler().sendPacket(new EditBook 201 this.minecraft.getNetworkHandler().sendPacket(new EditBook ... C2SPacket(this.book, bl)); ... C2SPacket(this.book, bl, this.f_7608009)); 198 } 202 } 199 } 203 } 200 } 204 } net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 4/6 --- Java 359 this.f_7407351 = null; 363 this.f_7407351 = null; 360 } 364 } 361 } else { 365 } else { 362 this.f_7407351 = Lists.newArrayList(new LiteralText("* 366 this.f_7407351 = Lists.newArrayList(new TranslatableTex ... Invalid book tag *").setFormatting(Formatting.DARK_RED)); ... t("book.invalid.tag").setFormatting(Formatting.DARK_RED)); 363 } 367 } 364 368 365 this.f_1191170 = this.currentPage; 369 this.f_1191170 = this.currentPage; net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 5/6 --- Java 374 378 375 for (int p = 0; p < n; p++) { 379 for (int p = 0; p < n; p++) { 376 Text text2 = this.f_7407351.get(p); 380 Text text2 = this.f_7407351.get(p); 377 this.textRenderer.draw(text2.getString(), (float)(k + 3 381 this.textRenderer.draw(text2.getFormattedString(), (flo ... 6), (float)(34 + p * this.textRenderer.fontHeight), 0); ... at)(k + 36), (float)(34 + p * this.textRenderer.fontHeight), 0); 378 } 382 } 379 383 380 Text text3 = this.m_7260923((double)i, (double)j); 384 Text text3 = this.m_7260923((double)i, (double)j); net/minecraft/client/gui/screen/inventory/BookEditScreen.java --- 6/6 --- Java 445 449 446 for (Text text2 : text) { 450 for (Text text2 : text) { 447 if (text2 instanceof LiteralText) { 451 if (text2 instanceof LiteralText) { 448 m += this.minecraft.textRenderer.getWidth(((Li 452 m += this.minecraft.textRenderer.getWidth(text ... teralText)text2).getRawString()); ... 2.getFormattedString()); 449 if (m > i) { 453 if (m > i) { 450 return text2; 454 return text2; 451 } 455 } net/minecraft/state/property/Properties.java --- Java 40 public static final BooleanProperty SHORT = BooleanProperty.of("shor 40 public static final BooleanProperty SHORT = BooleanProperty.of("shor .. t"); .. t"); 41 public static final BooleanProperty SNOWY = BooleanProperty.of("snow 41 public static final BooleanProperty SNOWY = BooleanProperty.of("snow .. y"); .. y"); 42 public static final BooleanProperty TRIGGERED = BooleanProperty.of(" 42 public static final BooleanProperty TRIGGERED = BooleanProperty.of(" .. triggered"); .. triggered"); .. 43 public static final BooleanProperty UNSTABLE = BooleanProperty.of("u .. .. nstable"); 43 public static final BooleanProperty WATERLOGGED = BooleanProperty.of 44 public static final BooleanProperty WATERLOGGED = BooleanProperty.of .. ("waterlogged"); .. ("waterlogged"); 44 public static final EnumProperty<Direction.Axis> HORIZONTAL_AXIS = E 45 public static final EnumProperty<Direction.Axis> HORIZONTAL_AXIS = E .. numProperty.of("axis", Direction.Axis.class, Direction.Axis.X, Directio .. numProperty.of("axis", Direction.Axis.class, Direction.Axis.X, Directio .. n.Axis.Z); .. n.Axis.Z); 45 public static final EnumProperty<Direction.Axis> AXIS = EnumProperty 46 public static final EnumProperty<Direction.Axis> AXIS = EnumProperty .of("axis", Direction.Axis.class); .of("axis", Direction.Axis.class); net/minecraft/block/GrassPathBlock.java --- 1/2 --- Java 1 package net.minecraft.block; 1 package net.minecraft.block; 2 2 . 3 import java.util.Random; 3 import net.minecraft.block.shape.VoxelShape; 4 import net.minecraft.block.shape.VoxelShape; 4 import net.minecraft.block.state.BlockState; 5 import net.minecraft.block.state.BlockState; 5 import net.minecraft.entity.ai.pathing.EntityNavigationType; 6 import net.minecraft.entity.ai.pathing.EntityNavigationType; net/minecraft/block/GrassPathBlock.java --- 2/2 --- Java 35 public BlockState resolveVirtualProperties( 36 public BlockState resolveVirtualProperties( 36 BlockState blockState, Direction direction, BlockState blockState 37 BlockState blockState, Direction direction, BlockState blockState .. 2, WorldAccess worldAccess, BlockPos blockPos, BlockPos blockPos2 .. 2, WorldAccess worldAccess, BlockPos blockPos, BlockPos blockPos2 37 ) { 38 ) { 38 return direction == Direction.UP && !blockState.canSurvive(worldA 39 if (direction == Direction.UP && !blockState.canSurvive(worldAcce .. ccess, blockPos) .. ss, blockPos)) { 39 ? Block.pushEntitiesUp(blockState, Blocks.DIRT.defaultState(), 40 worldAccess.getBlockTicks().scheduleTick(blockPos, this, 1); .. worldAccess, blockPos) .. .. 41 } .. 42 40 : super.resolveVirtualProperties(blockState, direction, blockS 43 return super.resolveVirtualProperties(blockState, direction, bloc .. tate2, worldAccess, blockPos, blockPos2); .. kState2, worldAccess, blockPos, blockPos2); 41 } 44 } .. 45 .. 46 @Override .. 47 public void tick(BlockState blockState, World world, BlockPos blockP .. .. os, Random random) { .. 48 FarmlandBlock.setDirt(blockState, world, blockPos); .. 49 } 42 50 43 @Override 51 @Override 44 public boolean canSurvive(BlockState blockState, WorldView worldView 52 public boolean canSurvive(BlockState blockState, WorldView worldView , BlockPos blockPos) { , BlockPos blockPos) { net/minecraft/world/gen/structure/template/StructureManager.java --- Java 119 return false; 119 return false; 120 } else { 120 } else { 121 try { 121 try { 122 Files.createDirectories(path2); 122 Files.createDirectories(Files.exists(path2) ? path2.toR ... ... ealPath() : path2); 123 } catch (IOException var19) { 123 } catch (IOException var19) { 124 f_4873086.error("Failed to create parent directory: {}" 124 f_4873086.error("Failed to create parent directory: {}" ... , path2); ... , path2); 125 return false; 125 return false; net/minecraft/block/TntBlock.java --- 1/4 --- Java 12 import net.minecraft.item.Items; 12 import net.minecraft.item.Items; 13 import net.minecraft.sound.SoundCategory; 13 import net.minecraft.sound.SoundCategory; 14 import net.minecraft.sound.SoundEvents; 14 import net.minecraft.sound.SoundEvents; .. 15 import net.minecraft.state.StateDefinition; .. 16 import net.minecraft.state.property.BooleanProperty; 15 import net.minecraft.util.math.BlockPos; 17 import net.minecraft.util.math.BlockPos; 16 import net.minecraft.util.math.Direction; 18 import net.minecraft.util.math.Direction; 17 import net.minecraft.world.InteractionHand; 19 import net.minecraft.world.InteractionHand; 18 import net.minecraft.world.World; 20 import net.minecraft.world.World; 19 import net.minecraft.world.explosion.Explosion; 21 import net.minecraft.world.explosion.Explosion; 20 22 21 public class TntBlock extends Block { 23 public class TntBlock extends Block { .. 24 public static final BooleanProperty UNSTABLE = net.minecraft.state.p .. .. roperty.Properties.UNSTABLE; .. 25 22 public TntBlock(Block.Properties properties) { 26 public TntBlock(Block.Properties properties) { 23 super(properties); 27 super(properties); .. 28 this.setDefaultState(this.defaultState().set(UNSTABLE, Boolean.va .. .. lueOf(false))); 24 } 29 } 25 30 26 @Override 31 @Override net/minecraft/block/TntBlock.java --- 2/4 --- Java 41 } 46 } 42 } 47 } .. 48 .. 49 @Override .. 50 public void dropItems(BlockState blockState, World world, BlockPos b .. .. lockPos, float f, int i) { .. 51 if (!blockState.get(UNSTABLE)) { .. 52 super.dropItems(blockState, world, blockPos, f, i); .. 53 } .. 54 } .. 55 .. 56 @Override .. 57 public void onRemoved(BlockState blockState, World world, BlockPos b .. .. lockPos, BlockState blockState2, boolean bl) { .. 58 if (blockState.get(UNSTABLE)) { .. 59 this.ignite(world, blockPos); .. 60 } .. 61 .. 62 super.onRemoved(blockState, world, blockPos, blockState2, bl); .. 63 } 43 64 44 @Override 65 @Override 45 public void onExploded(World world, BlockPos blockPos, Explosion exp 66 public void onExploded(World world, BlockPos blockPos, Explosion exp losion) { losion) { net/minecraft/block/TntBlock.java --- 3/4 --- Java 99 public void onEntityCollision(BlockState blockState, World world, B 120 public void onEntityCollision(BlockState blockState, World world, B .. lockPos blockPos, Entity entity) { ... lockPos blockPos, Entity entity) { 100 if (!world.isClient && entity instanceof AbstractArrowEntity) { 121 if (!world.isClient && entity instanceof AbstractArrowEntity) { 101 AbstractArrowEntity abstractArrowEntity = (AbstractArrowEntit 122 AbstractArrowEntity abstractArrowEntity = (AbstractArrowEntit ... y)entity; ... y)entity; ... 123 Entity entity2 = abstractArrowEntity.getEntity(); 102 if (abstractArrowEntity.isOnFire()) { 124 if (abstractArrowEntity.isOnFire()) { 103 this.ignite(world, blockPos, abstractArrowEntity.shooter i 125 this.ignite(world, blockPos, entity2 instanceof LivingEnti ... nstanceof LivingEntity ? (LivingEntity)abstractArrowEntity.shooter : n ... ty ? (LivingEntity)entity2 : null); ... ull); ... 104 world.removeBlock(blockPos); 126 world.removeBlock(blockPos); 105 } 127 } 106 } 128 } net/minecraft/block/TntBlock.java --- 4/4 --- Java 111 return false; 133 return false; 112 } 134 } ... 135 ... 136 @Override ... 137 protected void buildStateDefinition(StateDefinition.Builder<Block, ... ... BlockState> builder) { ... 138 builder.add(UNSTABLE); ... 139 } 113 } 140 } net/minecraft/client/network/handler/ClientPlayNetworkHandler.java --- 1/4 --- Java 489 if (addEntityS2CPacket.getType() == 60 || addEntityS2CPack 489 if (addEntityS2CPacket.getType() == 60 || addEntityS2CPack ... et.getType() == 91 || addEntityS2CPacket.getType() == 94) { ... et.getType() == 91 || addEntityS2CPacket.getType() == 94) { 490 Entity entity4 = this.world.getEntity(addEntityS2CPacke 490 Entity entity4 = this.world.getEntity(addEntityS2CPacke ... t.getData() - 1); ... t.getData() - 1); 491 if (entity4 instanceof LivingEntity && entity instanceo 491 if (entity4 instanceof LivingEntity && entity instanceo ... f AbstractArrowEntity) { ... f AbstractArrowEntity) { ... 492 AbstractArrowEntity abstractArrowEntity = (AbstractA ... ... rrowEntity)entity; ... 493 abstractArrowEntity.setOwner(entity4); ... 494 if (entity4 instanceof PlayerEntity) { ... 495 abstractArrowEntity.pickup = AbstractArrowEntity. ... ... Pickup.ALLOWED; 492 ((AbstractArrowEntity)entity).shooter = entity4; 496 if (((PlayerEntity)entity4).abilities.creativeMod ... ... e) { ... 497 abstractArrowEntity.pickup = AbstractArrowEnti ... ... ty.Pickup.CREATIVE_ONLY; ... 498 } ... 499 } 493 } 500 } 494 } 501 } 495 502 net/minecraft/client/network/handler/ClientPlayNetworkHandler.java --- 2/4 --- Java 726 @Override 733 @Override 727 public void handleWorldChunk(WorldChunkS2CPacket worldChunkS2CPacke 734 public void handleWorldChunk(WorldChunkS2CPacket worldChunkS2CPacke ... t) { ... t) { 728 PacketUtils.ensureOnSameThread(worldChunkS2CPacket, this, this.m 735 PacketUtils.ensureOnSameThread(worldChunkS2CPacket, this, this.m ... inecraft); ... inecraft); 729 if (worldChunkS2CPacket.isFull()) { ... 730 this.world.updateChunk(worldChunkS2CPacket.getChunkX(), world 736 int i = worldChunkS2CPacket.getChunkZ(); ... ChunkS2CPacket.getChunkZ(), true); ... 731 } ... 732 ... 733 WorldChunk worldChunk = this.world.getChunkAt(worldChunkS2CPacke 737 int j = worldChunkS2CPacket.getChunkX(); ... t.getChunkX(), worldChunkS2CPacket.getChunkZ()); ... 734 worldChunk.update(worldChunkS2CPacket.getReadBuffer(), worldChun 738 WorldChunk worldChunk = this.world ... kS2CPacket.getSections(), worldChunkS2CPacket.isFull()); ... ... 739 .getChunkSource() ... 740 .replaceChunk(i, j, worldChunkS2CPacket.getReadBuffer(), worl ... ... dChunkS2CPacket.getSections(), worldChunkS2CPacket.isFull()); 735 this.world 741 this.world.notifyRegionChanged(i << 4, 0, j << 4, (i << 4) + 15, ... ... 256, (j << 4) + 15); 736 .notifyRegionChanged( ... 737 worldChunkS2CPacket.getChunkX() << 4, ... 738 0, ... 739 worldChunkS2CPacket.getChunkZ() << 4, ... 740 (worldChunkS2CPacket.getChunkX() << 4) + 15, ... 741 256, ... 742 (worldChunkS2CPacket.getChunkZ() << 4) + 15 ... 743 ); ... 744 if (!worldChunkS2CPacket.isFull() || !(this.world.dimension inst 742 if (!worldChunkS2CPacket.isFull() || !(this.world.dimension inst ... anceof OverworldDimension)) { ... anceof OverworldDimension)) { 745 worldChunk.clearLightChecks(); 743 worldChunk.clearLightChecks(); net/minecraft/client/network/handler/ClientPlayNetworkHandler.java --- 3/4 --- Java 757 @Override 755 @Override 758 public void handleForgetWorldChunk(ForgetWorldChunkS2CPacket forget 756 public void handleForgetWorldChunk(ForgetWorldChunkS2CPacket forget ... WorldChunkS2CPacket) { ... WorldChunkS2CPacket) { 759 PacketUtils.ensureOnSameThread(forgetWorldChunkS2CPacket, this, 757 PacketUtils.ensureOnSameThread(forgetWorldChunkS2CPacket, this, ... this.minecraft); ... this.minecraft); ... 758 int i = forgetWorldChunkS2CPacket.getChunkX(); ... 759 int j = forgetWorldChunkS2CPacket.getChunkZ(); ... 760 this.world.getChunkSource().unloadChunk(i, j); 760 this.world.updateChunk(forgetWorldChunkS2CPacket.getChunkX(), fo 761 this.world.notifyRegionChanged(i << 4, 0, j << 4, (i << 4) + 15, ... rgetWorldChunkS2CPacket.getChunkZ(), false); ... 256, (j << 4) + 15); 761 } 762 } 762 763 763 @Override 764 @Override net/minecraft/client/network/handler/ClientPlayNetworkHandler.java --- 4/4 --- Java 1793 ? this.minecraft.player.getOffHandStack() 1794 ? this.minecraft.player.getOffHandStack() 1794 : this.minecraft.player.getMainHandStack(); 1795 : this.minecraft.player.getMainHandStack(); 1795 if (itemStack.getItem() == Items.WRITTEN_BOOK) { 1796 if (itemStack.getItem() == Items.WRITTEN_BOOK) { 1796 this.minecraft.openScreen(new BookEditScreen(this.mine 1797 this.minecraft.openScreen(new BookEditScreen(this.mine .... craft.player, itemStack, false)); .... craft.player, itemStack, false, interactionHand)); 1797 } 1798 } 1798 } else if (CustomPayloadS2CPacket.f_4026719.equals(identifie 1799 } else if (CustomPayloadS2CPacket.f_4026719.equals(identifie .... r)) { .... r)) { 1799 int i = packetByteBuf.readInt(); 1800 int i = packetByteBuf.readInt(); net/minecraft/world/gen/structure/VillageStructure.java --- Java 34 int n = chunkGenerator.getSettings().getVillagesSeparation(); 34 int n = chunkGenerator.getSettings().getVillagesSeparation(); 35 int o = i + m * k; 35 int o = i + m * k; 36 int p = j + m * l; 36 int p = j + m * l; 37 int q = o < 0 ? o - m - 1 : o; 37 int q = o < 0 ? o - m + 1 : o; 38 int r = p < 0 ? p - m - 1 : p; 38 int r = p < 0 ? p - m + 1 : p; 39 int s = q / m; 39 int s = q / m; 40 int t = r / m; 40 int t = r / m; 41 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g 41 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g etSeed(), s, t, 10387312); etSeed(), s, t, 10387312); net/minecraft/block/ConcretePowderBlock.java --- 1/5 --- Java 2 2 3 import net.minecraft.block.state.BlockState; 3 import net.minecraft.block.state.BlockState; 4 import net.minecraft.item.BlockPlaceContext; 4 import net.minecraft.item.BlockPlaceContext; . 5 import net.minecraft.tag.FluidTags; 5 import net.minecraft.util.math.BlockPos; 6 import net.minecraft.util.math.BlockPos; 6 import net.minecraft.util.math.Direction; 7 import net.minecraft.util.math.Direction; 7 import net.minecraft.world.BlockView; 8 import net.minecraft.world.BlockView; net/minecraft/block/ConcretePowderBlock.java --- 2/5 --- Java 18 19 19 @Override 20 @Override 20 public void land(World world, BlockPos blockPos, BlockState blockSta 21 public void land(World world, BlockPos blockPos, BlockState blockSta .. te, BlockState blockState2) { .. te, BlockState blockState2) { 21 if (blockState2.getMaterial().isLiquid()) { 22 if (canHardenConcrete(blockState2)) { 22 world.setBlockState(blockPos, this.concrete, 3); 23 world.setBlockState(blockPos, this.concrete, 3); 23 } 24 } 24 } 25 } net/minecraft/block/ConcretePowderBlock.java --- 3/5 --- Java 27 public BlockState getPlacementState(BlockPlaceContext blockPlaceCont 28 public BlockState getPlacementState(BlockPlaceContext blockPlaceCont .. ext) { .. ext) { 28 BlockView blockView = blockPlaceContext.getWorld(); 29 BlockView blockView = blockPlaceContext.getWorld(); 29 BlockPos blockPos = blockPlaceContext.getPos(); 30 BlockPos blockPos = blockPlaceContext.getPos(); 30 return !blockPlaceContext.getWorld().getBlockState(blockPlaceCont 31 return !canHardenConcrete(blockView.getBlockState(blockPos)) && ! .. ext.getPos()).getMaterial().isLiquid() && !isNextToLiquid(blockView, bl .. isNextToLiquid(blockView, blockPos) .. ockPos) .. 31 ? super.getPlacementState(blockPlaceContext) 32 ? super.getPlacementState(blockPlaceContext) 32 : this.concrete; 33 : this.concrete; 33 } 34 } net/minecraft/block/ConcretePowderBlock.java --- 4/5 --- Java 37 BlockPos.Mutable mutable = new BlockPos.Mutable(blockPos); 38 BlockPos.Mutable mutable = new BlockPos.Mutable(blockPos); 38 39 39 for (Direction direction : Direction.values()) { 40 for (Direction direction : Direction.values()) { .. 41 BlockState blockState = blockView.getBlockState(mutable); 40 if (direction != Direction.DOWN) { 42 if (direction != Direction.DOWN || canHardenConcrete(blockStat .. .. e)) { 41 mutable.set(blockPos).move(direction); 43 mutable.set(blockPos).move(direction); .. 44 blockState = blockView.getBlockState(mutable); 42 if (blockView.getBlockState(mutable).getMaterial().isLiquid 45 if (canHardenConcrete(blockState) && !Block.isFaceFull(bloc .. ()) { .. kState.getCollisionShape(blockView, blockPos), direction.getOpposite()) .. .. ) { 43 bl = true; 46 bl = true; 44 break; 47 break; 45 } 48 } net/minecraft/block/ConcretePowderBlock.java --- 5/5 --- Java 49 return bl; 52 return bl; 50 } 53 } .. 54 .. 55 private static boolean canHardenConcrete(BlockState blockState) { .. 56 return blockState.getFluidState().is(FluidTags.WATER); .. 57 } 51 58 52 @Override 59 @Override 53 public BlockState resolveVirtualProperties( 60 public BlockState resolveVirtualProperties( net/minecraft/block/SeaPickleBlock.java --- 1/2 --- Java 3 import java.util.Random; 3 import java.util.Random; 4 import javax.annotation.Nullable; 4 import javax.annotation.Nullable; 5 import net.minecraft.block.shape.VoxelShape; 5 import net.minecraft.block.shape.VoxelShape; 6 import net.minecraft.block.shape.VoxelShapes; . 7 import net.minecraft.block.state.BlockState; 6 import net.minecraft.block.state.BlockState; 8 import net.minecraft.fluid.Fluid; 7 import net.minecraft.fluid.Fluid; 9 import net.minecraft.fluid.Fluids; 8 import net.minecraft.fluid.Fluids; net/minecraft/block/SeaPickleBlock.java --- 2/2 --- Java 58 57 59 @Override 58 @Override 60 protected boolean canPlantOn(BlockState blockState, BlockView blockV 59 protected boolean canPlantOn(BlockState blockState, BlockView blockV .. iew, BlockPos blockPos) { .. iew, BlockPos blockPos) { 61 return !VoxelShapes.m_8263899(blockState.getCollisionShape(blockV 60 return !blockState.getCollisionShape(blockView, blockPos).getFace .. iew, blockPos), Direction.UP).isEmpty(); .. Shape(Direction.UP).isEmpty(); 62 } 61 } 63 62 64 @Override 63 @Override net/minecraft/util/crash/CrashReport.java --- Java 37 } 37 } 38 38 39 private void fillSystemDetails() { 39 private void fillSystemDetails() { 40 this.systemDetails.add("Minecraft Version", () -> "1.13"); 40 this.systemDetails.add("Minecraft Version", () -> "18w30a"); 41 this.systemDetails 41 this.systemDetails 42 .add("Operating System", () -> System.getProperty("os.name") + 42 .add("Operating System", () -> System.getProperty("os.name") + .. " (" + System.getProperty("os.arch") + ") version " + System.getProper .. " (" + System.getProperty("os.arch") + ") version " + System.getProper .. ty("os.version")); .. ty("os.version")); 43 this.systemDetails.add("Java Version", () -> System.getProperty(" 43 this.systemDetails.add("Java Version", () -> System.getProperty(" java.version") + ", " + System.getProperty("java.vendor")); java.version") + ", " + System.getProperty("java.vendor")); net/minecraft/block/FallingBlock.java --- Java 81 public static boolean canFallThrough(BlockState blockState) { 81 public static boolean canFallThrough(BlockState blockState) { 82 Block block = blockState.getBlock(); 82 Block block = blockState.getBlock(); 83 Material material = blockState.getMaterial(); 83 Material material = blockState.getMaterial(); 84 return blockState.isAir() || block == Blocks.FIRE || material.isL 84 return blockState.isAir() || block == Blocks.FIRE || material.isL .. iquid(); .. iquid() || material.isReplaceable(); 85 } 85 } 86 86 87 public void land(World world, BlockPos blockPos, BlockState blockSta 87 public void land(World world, BlockPos blockPos, BlockState blockSta te, BlockState blockState2) { te, BlockState blockState2) { net/minecraft/world/gen/structure/TempleFeature.java --- Java 16 int n = this.getSeparation(chunkGenerator); 16 int n = this.getSeparation(chunkGenerator); 17 int o = i + m * k; 17 int o = i + m * k; 18 int p = j + m * l; 18 int p = j + m * l; 19 int q = o < 0 ? o - m - 1 : o; 19 int q = o < 0 ? o - m + 1 : o; 20 int r = p < 0 ? p - m - 1 : p; 20 int r = p < 0 ? p - m + 1 : p; 21 int s = q / m; 21 int s = q / m; 22 int t = r / m; 22 int t = r / m; 23 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g 23 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g etSeed(), s, t, this.getRandomSalt()); etSeed(), s, t, this.getRandomSalt()); net/minecraft/crafting/recipe/CloneMapRecipe.java --- Java 71 71 72 if (!itemStack.isEmpty() && i >= 1) { 72 if (!itemStack.isEmpty() && i >= 1) { 73 ItemStack itemStack3 = itemStack.copy(); 73 ItemStack itemStack3 = itemStack.copy(); 74 itemStack3.increase(1); 74 itemStack3.setSize(i + 1); 75 return itemStack3; 75 return itemStack3; 76 } else { 76 } else { 77 return ItemStack.EMPTY; 77 return ItemStack.EMPTY; net/minecraft/client/world/ClientWorld.java --- 1/6 --- Java 1 package net.minecraft.client.world; 1 package net.minecraft.client.world; 2 2 3 import com.google.common.collect.Sets; 3 import com.google.common.collect.Sets; . 4 import it.unimi.dsi.fastutil.objects.ObjectIterator; 4 import java.util.Random; 5 import java.util.Random; 5 import java.util.Set; 6 import java.util.Set; . 7 import java.util.function.BooleanSupplier; 6 import javax.annotation.Nullable; 8 import javax.annotation.Nullable; 7 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.EnvType; 8 import net.fabricmc.api.Environment; 10 import net.fabricmc.api.Environment; net/minecraft/client/world/ClientWorld.java --- 2/6 --- Java 81 } 83 } 82 84 83 @Override 85 @Override 84 public void tick() { 86 public void tick(BooleanSupplier booleanSupplier) { 85 super.tick(); 87 super.tick(booleanSupplier); 86 this.setTime(this.getTime() + 1L); 88 this.setTime(this.getTime() + 1L); 87 if (this.getGameRules().getBoolean("doDaylightCycle")) { 89 if (this.getGameRules().getBoolean("doDaylightCycle")) { 88 this.setTimeOfDay(this.getTimeOfDay() + 1L); 90 this.setTimeOfDay(this.getTimeOfDay() + 1L); net/minecraft/client/world/ClientWorld.java --- 3/6 --- Java 99 } 101 } 100 102 101 this.profiler.swap("chunkCache"); 103 this.profiler.swap("chunkCache"); 102 this.chunkCache.tick(); 104 this.chunkCache.tick(booleanSupplier); 103 this.profiler.swap("blocks"); 105 this.profiler.swap("blocks"); 104 this.tickChunks(); 106 this.tickChunks(); 105 this.profiler.pop(); 107 this.profiler.pop(); net/minecraft/client/world/ClientWorld.java --- 4/6 --- Java 113 115 114 @Override 116 @Override 115 public boolean isChunkLoaded(int i, int j, boolean bl) { 117 public boolean isChunkLoaded(int i, int j, boolean bl) { 116 return bl || !this.getChunkSource().getChunk(i, j).isEmpty(); 118 return bl || this.getChunkSource().getChunk(i, j, true, false) ! ... ... = null; 117 } 119 } 118 120 119 protected void purgeTickingChunks() { 121 protected void purgeTickingChunks() { net/minecraft/client/world/ClientWorld.java --- 5/6 --- Java 162 } 164 } 163 } 165 } 164 ... 165 public void updateChunk(int i, int j, boolean bl) { ... 166 if (bl) { ... 167 this.chunkCache.generateChunk(i, j); ... 168 } else { ... 169 this.chunkCache.unloadChunk(i, j); ... 170 this.notifyRegionChanged(i * 16, 0, j * 16, i * 16 + 15, 256, ... ... j * 16 + 15); ... 171 } ... 172 } ... 173 166 174 @Override 167 @Override 175 public boolean addEntity(Entity entity) { 168 public boolean addEntity(Entity entity) { net/minecraft/client/world/ClientWorld.java --- 6/6 --- Java 374 public void unloadEntities() { 367 public void unloadEntities() { 375 this.entities.removeAll(this.entitiesToRemove); 368 this.entities.removeAll(this.entitiesToRemove); 376 369 377 for (int i = 0; i < this.entitiesToRemove.size(); i++) { 370 for (Entity entity : this.entitiesToRemove) { 378 Entity entity = this.entitiesToRemove.get(i); ... 379 int j = entity.chunkX; 371 int i = entity.chunkX; 380 int k = entity.chunkZ; 372 int j = entity.chunkZ; 381 if (entity.isLoaded && this.isChunkLoaded(j, k, true)) { 373 if (entity.isLoaded && this.isChunkLoaded(i, j, true)) { 382 this.getChunkAt(j, k).removeEntity(entity); 374 this.getChunkAt(i, j).removeEntity(entity); 383 } 375 } 384 } 376 } 385 377 386 for (int ix = 0; ix < this.entitiesToRemove.size(); ix++) { 378 for (Entity entityx : this.entitiesToRemove) { 387 this.onEntityRemoved(this.entitiesToRemove.get(ix)); 379 this.onEntityRemoved(entityx); 388 } 380 } 389 381 390 this.entitiesToRemove.clear(); 382 this.entitiesToRemove.clear(); ... 383 ObjectIterator<Entity> objectIterator = this.entities.iterator() ... ... ; 391 384 392 for (int ix = 0; ix < this.entities.size(); ix++) { 385 while (objectIterator.hasNext()) { 393 Entity entity = this.entities.get(ix); 386 Entity entityx = objectIterator.next(); 394 Entity entity2 = entity.getMount(); 387 Entity entity2 = entityx.getMount(); 395 if (entity2 != null) { 388 if (entity2 != null) { 396 if (!entity2.removed && entity2.hasPassenger(entity)) { 389 if (!entity2.removed && entity2.hasPassenger(entityx)) { 397 continue; 390 continue; 398 } 391 } 399 392 400 entity.stopRiding(); 393 entityx.stopRiding(); 401 } 394 } 402 395 403 if (entity.removed) { 396 if (entityx.removed) { 404 int k = entity.chunkX; 397 int j = entityx.chunkX; 405 int l = entity.chunkZ; 398 int k = entityx.chunkZ; 406 if (entity.isLoaded && this.isChunkLoaded(k, l, true)) { 399 if (entityx.isLoaded && this.isChunkLoaded(j, k, true)) { 407 this.getChunkAt(k, l).removeEntity(entity); 400 this.getChunkAt(j, k).removeEntity(entityx); 408 } 401 } 409 402 410 this.entities.remove(ix--); 403 objectIterator.remove(); 411 this.onEntityRemoved(entity); 404 this.onEntityRemoved(entityx); 412 } 405 } 413 } 406 } 414 } 407 } net/minecraft/util/Long2ObjectCache.java --- Java 23 23 24 while (objectIterator.hasNext()) { 24 while (objectIterator.hasNext()) { 25 Long2LongMap.Entry entry = objectIterator.next(); 25 Long2LongMap.Entry entry = objectIterator.next(); .. 26 T object = (T)super.get(entry.getLongKey()); 26 if (m - entry.getLongValue() <= (long)this.lifespan || !this.e 27 if (m - entry.getLongValue() <= (long)this.lifespan) { .. xpires((T)super.get(entry.getLongKey()))) { .. 27 break; 28 break; 28 } 29 } 29 30 .. 31 if (object != null && this.expires(object)) { 30 super.remove(entry.getLongKey()); 32 super.remove(entry.getLongKey()); 31 objectIterator.remove(); 33 objectIterator.remove(); .. 34 } 32 } 35 } 33 } 36 } 34 37 net/minecraft/item/EnchantedBookItem.java --- 1/2 --- Java 10 import net.minecraft.nbt.NbtElement; 10 import net.minecraft.nbt.NbtElement; 11 import net.minecraft.nbt.NbtList; 11 import net.minecraft.nbt.NbtList; 12 import net.minecraft.resource.Identifier; 12 import net.minecraft.resource.Identifier; 13 import net.minecraft.text.Formatting; .. 14 import net.minecraft.text.Text; 13 import net.minecraft.text.Text; 15 import net.minecraft.util.DefaultedList; 14 import net.minecraft.util.DefaultedList; 16 import net.minecraft.world.World; 15 import net.minecraft.world.World; net/minecraft/item/EnchantedBookItem.java --- 2/2 --- Java 46 NbtCompound nbtCompound = nbtList.getCompound(i); 45 NbtCompound nbtCompound = nbtList.getCompound(i); 47 Enchantment enchantment = Enchantment.REGISTRY.get(Identifier. 46 Enchantment enchantment = Enchantment.REGISTRY.get(Identifier. .. parse(nbtCompound.getString("id"))); .. parse(nbtCompound.getString("id"))); 48 if (enchantment != null) { 47 if (enchantment != null) { 49 list.add(enchantment.getName(nbtCompound.getInt("lvl")).set 48 list.add(enchantment.getName(nbtCompound.getInt("lvl"))); .. Formatting(Formatting.GRAY)); .. 50 } 49 } 51 } 50 } 52 } 51 } net/minecraft/world/gen/structure/LegacyStructureDataHandler.java --- 1/2 --- Java 149 private void m_2261809(@Nullable SavedDataStorage savedDataStorage) 149 private void m_2261809(@Nullable SavedDataStorage savedDataStorage) ... { ... { 150 if (savedDataStorage != null) { 150 if (savedDataStorage != null) { 151 for (String string : this.m_8287631()) { 151 for (String string : this.m_8287631()) { 152 NbtCompound nbtCompound; 152 NbtCompound nbtCompound = new NbtCompound(); ... 153 153 try { 154 try { 154 nbtCompound = savedDataStorage.fixData(string, 1493).ge 155 nbtCompound = savedDataStorage.fixData(string, 1493).ge ... tCompound("data").getCompound("Features"); ... tCompound("data").getCompound("Features"); 155 if (nbtCompound.isEmpty()) { 156 if (nbtCompound.isEmpty()) { 156 continue; 157 continue; 157 } 158 } 158 } catch (IOException var15) { 159 } catch (IOException var15) { 159 continue; ... 160 } 160 } 161 161 162 for (String string2 : nbtCompound.getKeys()) { 162 for (String string2 : nbtCompound.getKeys()) { net/minecraft/world/gen/structure/LegacyStructureDataHandler.java --- 2/2 --- Java 180 if (c_1077508 != null && !c_1077508.m_0567612().isEmpty()) 180 if (c_1077508 != null && !c_1077508.m_0567612().isEmpty()) ... { ... { 181 this.indices.put(string, c_1077508); 181 this.indices.put(string, c_1077508); 182 } else { 182 } else { 183 this.indices.put(string, new C_1077508(string5)); 183 C_1077508 c_10775082 = new C_1077508(string5); 184 C_1077508 c_10775082 = this.indices.get(string); 184 this.indices.put(string, c_10775082); 185 185 186 for (String string6 : nbtCompound.getKeys()) { 186 for (String string6 : nbtCompound.getKeys()) { 187 NbtCompound nbtCompound3 = nbtCompound.getCompound(s 187 NbtCompound nbtCompound3 = nbtCompound.getCompound(s tring6); tring6); net/minecraft/client/gui/screen/inventory/menu/DispenserScreen.java --- Java 29 29 30 @Override 30 @Override 31 protected void drawForeground(int i, int j) { 31 protected void drawForeground(int i, int j) { 32 String string = this.inventory.getDisplayName().getString(); 32 String string = this.inventory.getDisplayName().getFormattedStrin .. .. g(); 33 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - 33 this.textRenderer.draw(string, (float)(this.backgroundWidth / 2 - .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); .. this.textRenderer.getWidth(string) / 2), 6.0F, 4210752); 34 this.textRenderer.draw(this.playerInventory.getDisplayName().getS 34 this.textRenderer.draw(this.playerInventory.getDisplayName().getF .. tring(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 4210752); .. ormattedString(), 8.0F, (float)(this.backgroundHeight - 96 + 2), 421075 .. .. 2); 35 } 35 } 36 36 37 @Override 37 @Override net/minecraft/realms/RealmsScreen.java --- 1/3 --- Java 1 package net.minecraft.realms; 1 package net.minecraft.realms; 2 2 . 3 import com.google.common.util.concurrent.ListenableFuture; 3 import com.mojang.blaze3d.platform.InputConstants; 4 import com.mojang.blaze3d.platform.InputConstants; 4 import com.mojang.util.UUIDTypeAdapter; 5 import com.mojang.util.UUIDTypeAdapter; 5 import java.util.List; 6 import java.util.List; net/minecraft/realms/RealmsScreen.java --- 2/3 --- Java 130 return this.proxy.height; 131 return this.proxy.height; 131 } 132 } ... 133 ... 134 public ListenableFuture<Object> threadSafeSetScreen(RealmsScreen re ... ... almsScreen) { ... 135 return this.minecraft.submit(() -> Realms.setScreen(realmsScreen ... ... )); ... 136 } 132 137 133 public int fontLineHeight() { 138 public int fontLineHeight() { 134 return this.proxy.fontHeight(); 139 return this.proxy.fontHeight(); net/minecraft/realms/RealmsScreen.java --- 3/3 --- Java 158 this.proxy.m_3806739(realmsGuiEventListener); 163 this.proxy.m_3806739(realmsGuiEventListener); 159 } 164 } ... 165 ... 166 public boolean hasWidget(RealmsGuiEventListener realmsGuiEventListe ... ... ner) { ... 167 return this.proxy.m_0783198(realmsGuiEventListener); ... 168 } 160 169 161 public void buttonsAdd(RealmsButton realmsButton) { 170 public void buttonsAdd(RealmsButton realmsButton) { 162 this.proxy.removeButton(realmsButton); 171 this.proxy.removeButton(realmsButton); net/minecraft/world/EntityView.java --- Java 1 package net.minecraft.world; 2 3 import java.util.List; 4 import java.util.Objects; 5 import java.util.Set; 6 import java.util.stream.Stream; 7 import javax.annotation.Nullable; 8 import net.minecraft.block.shape.VoxelShape; 9 import net.minecraft.block.shape.VoxelShapes; 10 import net.minecraft.entity.Entity; 11 import net.minecraft.entity.EntityFilter; 12 import net.minecraft.util.math.Box; 13 14 public interface EntityView { 15 List<Entity> getEntities(@Nullable Entity entity, Box box, @Nullable java.util.function.Predicate<? super Entity> predicate); 16 17 default List<Entity> getEntities(@Nullable Entity entity, Box box) { 18 return this.getEntities(entity, box, EntityFilter.NOT_SPECTATOR); 19 } 20 21 default Stream<VoxelShape> getEntityCollisions(@Nullable Entity entity, VoxelShape voxelShape, boolean bl, Set<Entity> set) { 22 Box box = voxelShape.bounds(); 23 return this.getEntities(entity, box.expand(0.25)) 24 .stream() 25 .filter(entity2 -> !set.contains(entity2) && (entity == null || !entity.hasSameVehicle(entity2))) 26 .flatMap( 27 entity2 -> Stream.of(entity2.getCollisionShape(), entity == null ? null : entity.getCollisionAgainstShape(entity2)) 28 .filter(Objects::nonNull) 29 .map(VoxelShapes::block) 30 ); 31 } 32 } 33 net/minecraft/unmapped/C_4835723.java --- 1/3 --- Java 5 import com.google.common.collect.Lists; 5 import com.google.common.collect.Lists; 6 import com.google.common.collect.Maps; 6 import com.google.common.collect.Maps; 7 import com.google.gson.JsonElement; 7 import com.google.gson.JsonElement; 8 import com.google.gson.JsonParser; . 9 import com.mojang.datafixers.DataFix; 8 import com.mojang.datafixers.DataFix; 10 import com.mojang.datafixers.Dynamic; 9 import com.mojang.datafixers.Dynamic; 11 import com.mojang.datafixers.TypeRewriteRule; 10 import com.mojang.datafixers.TypeRewriteRule; net/minecraft/unmapped/C_4835723.java --- 2/3 --- Java 23 import java.util.stream.Collectors; 22 import java.util.stream.Collectors; 24 import javax.annotation.Nullable; 23 import javax.annotation.Nullable; 25 import net.minecraft.datafixer.TypeReferences; 24 import net.minecraft.datafixer.TypeReferences; .. 25 import net.minecraft.util.JsonUtils; 26 import net.minecraft.util.Utils; 26 import net.minecraft.util.Utils; 27 27 28 public class C_4835723 extends DataFix { 28 public class C_4835723 extends DataFix { net/minecraft/unmapped/C_4835723.java --- 3/3 --- Java 117 String string = optional.orElse(""); 117 String string = optional.orElse(""); 118 dynamic2 = dynamic.set("generatorOptions", m_3614057(strin 118 dynamic2 = dynamic.set("generatorOptions", m_3614057(strin ... g, dynamic.getOps())); ... g, dynamic.getOps())); 119 } else if ("buffet".equalsIgnoreCase(dynamic.getString("gener 119 } else if ("buffet".equalsIgnoreCase(dynamic.getString("gener ... atorName")) && optional.isPresent()) { ... atorName")) && optional.isPresent()) { 120 Dynamic<JsonElement> dynamic3 = new Dynamic<>(JsonOps.INST 120 Dynamic<JsonElement> dynamic3 = new Dynamic<>(JsonOps.INST ... ANCE, new JsonParser().parse(optional.get())); ... ANCE, JsonUtils.getJsonObject(optional.get(), true)); 121 dynamic2 = dynamic.set("generatorOptions", dynamic3.conver 121 dynamic2 = dynamic.set("generatorOptions", dynamic3.conver ... t(dynamic.getOps())); ... t(dynamic.getOps())); 122 } else { 122 } else { 123 dynamic2 = dynamic; 123 dynamic2 = dynamic; net/minecraft/command/argument/FunctionArgument.java --- 1/2 --- Java 5 import com.mojang.brigadier.context.CommandContext; 5 import com.mojang.brigadier.context.CommandContext; 6 import com.mojang.brigadier.exceptions.CommandSyntaxException; 6 import com.mojang.brigadier.exceptions.CommandSyntaxException; 7 import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; 7 import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; 8 import com.mojang.brigadier.suggestion.Suggestions; . 9 import com.mojang.brigadier.suggestion.SuggestionsBuilder; . 10 import java.util.Arrays; 8 import java.util.Arrays; 11 import java.util.Collection; 9 import java.util.Collection; 12 import java.util.Collections; 10 import java.util.Collections; 13 import java.util.concurrent.CompletableFuture; .. 14 import net.minecraft.resource.Identifier; 11 import net.minecraft.resource.Identifier; 15 import net.minecraft.server.command.function.CommandFunction; 12 import net.minecraft.server.command.function.CommandFunction; 16 import net.minecraft.server.command.source.CommandSourceStack; 13 import net.minecraft.server.command.source.CommandSourceStack; net/minecraft/command/argument/FunctionArgument.java --- 2/2 --- Java 59 return commandContext.getArgument(string, FunctionArgument.Result 56 return commandContext.getArgument(string, FunctionArgument.Result .. .class).create(commandContext); .. .class).create(commandContext); 60 } 57 } 61 .. 62 @Override .. 63 public <S> CompletableFuture<Suggestions> listSuggestions(CommandCon .. .. text<S> commandContext, SuggestionsBuilder suggestionsBuilder) { .. 64 StringReader stringReader = new StringReader(suggestionsBuilder.g .. .. etInput()); .. 65 stringReader.setCursor(suggestionsBuilder.getStart()); .. 66 ItemParser itemParser = new ItemParser(stringReader, true); .. 67 .. 68 try { .. 69 itemParser.parse(); .. 70 } catch (CommandSyntaxException var6) { .. 71 } .. 72 .. 73 return itemParser.addSuggestions(suggestionsBuilder); .. 74 } .. 75 58 76 @Override 59 @Override 77 public Collection<String> getExamples() { 60 public Collection<String> getExamples() { net/minecraft/world/NaturalSpawner.java --- Java 233 MobEntity mobEntity; 233 MobEntity mobEntity; 234 try { 234 try { 235 mobEntity = spawnEntry.type.create(worldAccess 235 mobEntity = spawnEntry.type.create(worldAccess ... .getWorld()); ... .getWorld()); 236 } catch (Exception var22) { 236 } catch (Exception var24) { 237 LOGGER.warn("Failed to create mob", (Throwable 237 LOGGER.warn("Failed to create mob", (Throwable ... )var22); ... )var24); 238 continue; 238 continue; 239 } 239 } 240 240 241 float f = MathHelper.clamp((float)n, (float)k + m 241 double d = MathHelper.clamp((double)n, (double)k ... obEntity.width, (float)(k + 16) - mobEntity.width); ... + (double)mobEntity.width, (double)k + 16.0 - (double)mobEntity.width) ... ... ; 242 float g = MathHelper.clamp((float)o, (float)l + m 242 double e = MathHelper.clamp((double)o, (double)l ... obEntity.width, (float)(l + 16) - mobEntity.width); ... + (double)mobEntity.width, (double)l + 16.0 - (double)mobEntity.width) ... ... ; 243 mobEntity.refreshPositionAndAngles((double)f, (do 243 mobEntity.refreshPositionAndAngles(d, (double)blo ... uble)blockPos.getY(), (double)g, random.nextFloat() * 360.0F, 0.0F); ... ckPos.getY(), e, random.nextFloat() * 360.0F, 0.0F); 244 if (mobEntity.m_3712793(worldAccess) && mobEntity 244 if (mobEntity.m_3712793(worldAccess) && mobEntity ... .isUnobstructed(worldAccess)) { ... .isUnobstructed(worldAccess)) { 245 entityData = mobEntity.initialize(worldAccess. 245 entityData = mobEntity.initialize(worldAccess. ... getLocalDifficulty(new BlockPos(mobEntity)), entityData, null); ... getLocalDifficulty(new BlockPos(mobEntity)), entityData, null); 246 worldAccess.addEntity(mobEntity); 246 worldAccess.addEntity(mobEntity); net/minecraft/world/storage/WorldStorageSource.java --- Java 49 Path path2 = this.getBackupDir(); 49 Path path2 = this.getBackupDir(); 50 50 51 try { 51 try { 52 Files.createDirectories(path2); 52 Files.createDirectories(Files.exists(path2) ? path2.toRealPath .. .. () : path2); 53 } catch (IOException var19) { 53 } catch (IOException var19) { 54 throw new RuntimeException(var19); 54 throw new RuntimeException(var19); 55 } 55 } net/minecraft/server/PlayerManager.java --- 1/2 --- Java 264 } 264 } 265 265 266 serverWorld2.getChunkMap().addPlayer(serverPlayerEntity); 266 serverWorld2.getChunkMap().addPlayer(serverPlayerEntity); 267 serverWorld2.getChunkSource().getChunk((int)serverPlayerEntity.x 267 serverWorld2.getChunkSource().getChunk((int)serverPlayerEntity.x ... >> 4, (int)serverPlayerEntity.z >> 4); ... >> 4, (int)serverPlayerEntity.z >> 4, true, true); 268 if (serverWorld != null) { 268 if (serverWorld != null) { 269 CriterionTriggers.CHANGED_DIMENSION.run(serverPlayerEntity, s 269 CriterionTriggers.CHANGED_DIMENSION.run(serverPlayerEntity, s ... erverWorld.dimension.getType(), serverWorld2.dimension.getType()); ... erverWorld.dimension.getType(), serverWorld2.dimension.getType()); 270 if (serverWorld.dimension.getType() == DimensionType.NETHER 270 if (serverWorld.dimension.getType() == DimensionType.NETHER net/minecraft/server/PlayerManager.java --- 2/2 --- Java 460 } 460 } 461 } 461 } 462 462 463 serverWorld.getChunkSource().getChunk((int)serverPlayerEntity2.x 463 serverWorld.getChunkSource().getChunk((int)serverPlayerEntity2.x ... >> 4, (int)serverPlayerEntity2.z >> 4); ... >> 4, (int)serverPlayerEntity2.z >> 4, true, true); 464 464 465 while (!serverWorld.hasNoCollisions(serverPlayerEntity2, serverP 465 while (!serverWorld.hasNoCollisions(serverPlayerEntity2, serverP ... layerEntity2.getShape()) && serverPlayerEntity2.y < 256.0) { ... layerEntity2.getShape()) && serverPlayerEntity2.y < 256.0) { 466 serverPlayerEntity2.setPosition(serverPlayerEntity2.x, server 466 serverPlayerEntity2.setPosition(serverPlayerEntity2.x, server PlayerEntity2.y + 1.0, serverPlayerEntity2.z); PlayerEntity2.y + 1.0, serverPlayerEntity2.z); net/minecraft/client/gui/screen/TitleScreen.java --- 1/2 --- Java 298 GlStateManager.scalef(g, g, g); 298 GlStateManager.scalef(g, g, g); 299 this.drawCenteredString(this.textRenderer, this.splashText, 0, - 299 this.drawCenteredString(this.textRenderer, this.splashText, 0, - ... 8, -256); ... 8, -256); 300 GlStateManager.popMatrix(); 300 GlStateManager.popMatrix(); 301 String string = "Minecraft 1.13"; 301 String string = "Minecraft 18w30a"; 302 if (this.minecraft.isDemo()) { 302 if (this.minecraft.isDemo()) { 303 string = string + " Demo"; 303 string = string + " Demo"; 304 } else { 304 } else { net/minecraft/client/gui/screen/TitleScreen.java --- 2/2 --- Java 342 } 342 } 343 } 343 } 344 344 345 if (this.m_2393741()) { 345 if (this.m_2393741() && this.f_0932189.mouseClicked(d, e, i)) ... ... { 346 return this.f_0932189.mouseClicked(d, e, i); 346 return true; 347 } else { 347 } else { 348 if (d > (double)this.f_2511622 348 if (d > (double)this.f_2511622 349 && d < (double)(this.f_2511622 + this.copyrightTextWidt 349 && d < (double)(this.f_2511622 + this.copyrightTextWidt ... h) ... h) 350 && e > (double)(this.height - 10) 350 && e > (double)(this.height - 10) net/minecraft/world/gen/structure/EndCityStructure.java --- Java 21 int n = chunkGenerator.getSettings().getEndCitySeparation(); 21 int n = chunkGenerator.getSettings().getEndCitySeparation(); 22 int o = i + m * k; 22 int o = i + m * k; 23 int p = j + m * l; 23 int p = j + m * l; 24 int q = o < 0 ? o - m - 1 : o; 24 int q = o < 0 ? o - m + 1 : o; 25 int r = p < 0 ? p - m - 1 : p; 25 int r = p < 0 ? p - m + 1 : p; 26 int s = q / m; 26 int s = q / m; 27 int t = r / m; 27 int t = r / m; 28 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g 28 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g etSeed(), s, t, 10387313); etSeed(), s, t, 10387313); net/minecraft/block/entity/MovingBlockEntity.java --- Java 58 return this.extending; 58 return this.extending; 59 } 59 } .. 60 .. 61 public Direction getFacing() { .. 62 return this.facing; .. 63 } 60 64 61 public boolean isSource() { 65 public boolean isSource() { 62 return this.source; 66 return this.source; net/minecraft/world/gen/structure/OceanMonumentStructure.java --- Java 29 int n = chunkGenerator.getSettings().getMonumentsSeparation(); 29 int n = chunkGenerator.getSettings().getMonumentsSeparation(); 30 int o = i + m * k; 30 int o = i + m * k; 31 int p = j + m * l; 31 int p = j + m * l; 32 int q = o < 0 ? o - m - 1 : o; 32 int q = o < 0 ? o - m + 1 : o; 33 int r = p < 0 ? p - m - 1 : p; 33 int r = p < 0 ? p - m + 1 : p; 34 int s = q / m; 34 int s = q / m; 35 int t = r / m; 35 int t = r / m; 36 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g 36 ((WorldGenRandom)random).setLargeFeatureWithSalt(chunkGenerator.g etSeed(), s, t, 10387313); etSeed(), s, t, 10387313); net/minecraft/util/JsonUtils.java --- 1/3 --- Java 1 package net.minecraft.util; 1 package net.minecraft.util; 2 2 3 import com.google.gson.Gson; 3 import com.google.gson.Gson; . 4 import com.google.gson.GsonBuilder; 4 import com.google.gson.JsonArray; 5 import com.google.gson.JsonArray; 5 import com.google.gson.JsonDeserializationContext; 6 import com.google.gson.JsonDeserializationContext; 6 import com.google.gson.JsonElement; 7 import com.google.gson.JsonElement; net/minecraft/util/JsonUtils.java --- 2/3 --- Java 22 import org.apache.commons.lang3.StringUtils; 23 import org.apache.commons.lang3.StringUtils; 23 24 24 public class JsonUtils { 25 public class JsonUtils { .. 26 private static final Gson GSON = new GsonBuilder().create(); .. 27 25 public static boolean hasString(JsonObject jsonObject, String string 28 public static boolean hasString(JsonObject jsonObject, String string .. ) { .. ) { 26 return !hasJsonPrimitive(jsonObject, string) ? false : jsonObject 29 return !hasJsonPrimitive(jsonObject, string) ? false : jsonObject .getAsJsonPrimitive(string).isString(); .getAsJsonPrimitive(string).isString(); net/minecraft/util/JsonUtils.java --- 3/3 --- Java 315 return fromJson(gson, string, class_, false); 318 return fromJson(gson, string, class_, false); 316 } 319 } ... 320 ... 321 public static JsonObject getJsonObject(String string, boolean bl) { ... 322 return getJsonObject(new StringReader(string), bl); ... 323 } ... 324 ... 325 public static JsonObject getJsonObject(Reader reader, boolean bl) { ... 326 return fromJson(GSON, reader, JsonObject.class, bl); ... 327 } ... 328 ... 329 public static JsonObject getJsonObject(String string) { ... 330 return getJsonObject(string, false); ... 331 } ... 332 ... 333 public static JsonObject getJsonObject(Reader reader) { ... 334 return getJsonObject(reader, false); ... 335 } 317 } 336 } net/minecraft/world/storage/WorldSaveInfo.java --- Java 85 } 85 } 86 86 87 public boolean markInWorldList() { 87 public boolean markInWorldList() { 88 return this.isTooNew() || this.isOutdated() || this.isOldCustomi 88 return this.isTooNew() || !this.versionSnapshot || this.isOutdat .. zedWorld(); .. ed() || this.isOldCustomizedWorld(); 89 } 89 } 90 90 91 public boolean isTooNew() { 91 public boolean isTooNew() { 92 return this.versionId > 1519; 92 return this.versionId > 1620; 93 } 93 } 94 94 95 public boolean isOldCustomizedWorld() { 95 public boolean isOldCustomizedWorld() { 96 return this.generatorType == WorldGeneratorType.CUSTOMIZED && th 96 return this.generatorType == WorldGeneratorType.CUSTOMIZED && th .. is.versionId < 1466; .. is.versionId < 1466; 97 } 97 } 98 98 99 public boolean isOutdated() { 99 public boolean isOutdated() { 100 return this.versionId < 1519; 100 return this.versionId < 1620; 101 } 101 } 102 } 102 } net/minecraft/world/gen/feature/LargeOakTreeFeature.java --- Java 153 if (i == -1) { 153 if (i == -1) { 154 return false; 154 return false; 155 } else { 155 } else { ... 156 this.placeDirt(worldAccess, blockPos.down()); 156 int j = (int)((double)i * 0.618); 157 int j = (int)((double)i * 0.618); 157 if (j >= i) { 158 if (j >= i) { 158 j = i - 1; 159 j = i - 1; net/minecraft/realms/RealmsBridge.java --- Java 70 Minecraft.getInstance() 70 Minecraft.getInstance() 71 .openScreen( 71 .openScreen( 72 new C_9764232( 72 new C_9764232( 73 () -> Minecraft.getInstance().openScreen(this.previousSc 73 () -> Minecraft.getInstance().openScreen(this.previousSc .. reen), new LiteralText(""), new TranslatableText("realms.missing.module .. reen), new LiteralText(""), new TranslatableText("realms.missing.snapsh .. .error.text") .. ot.error.text") 74 ) 74 ) 75 ); 75 ); 76 } 76 } net/minecraft/server/integrated/IntegratedServer.java --- 1/4 --- Java 10 import java.io.IOException; 10 import java.io.IOException; 11 import java.util.UUID; 11 import java.util.UUID; 12 import java.util.concurrent.FutureTask; 12 import java.util.concurrent.FutureTask; .. 13 import java.util.function.BooleanSupplier; 13 import net.fabricmc.api.EnvType; 14 import net.fabricmc.api.EnvType; 14 import net.fabricmc.api.Environment; 15 import net.fabricmc.api.Environment; 15 import net.minecraft.client.ClientBrandRetriever; 16 import net.minecraft.client.ClientBrandRetriever; net/minecraft/server/integrated/IntegratedServer.java --- 2/4 --- Java 131 132 132 @Override 133 @Override 133 protected boolean init() throws IOException { 134 protected boolean init() throws IOException { 134 LOGGER.info("Starting integrated minecraft server version 1.13") 135 LOGGER.info("Starting integrated minecraft server version 18w30a ... ; ... "); 135 this.setOnlineMode(true); 136 this.setOnlineMode(true); 136 this.setSpawnAnimals(true); 137 this.setSpawnAnimals(true); 137 this.setSpawnNpcs(true); 138 this.setSpawnNpcs(true); net/minecraft/server/integrated/IntegratedServer.java --- 3/4 --- Java 147 } 148 } 148 149 149 @Override 150 @Override 150 protected void tick() { 151 protected void tick(BooleanSupplier booleanSupplier) { 151 boolean bl = this.paused; 152 boolean bl = this.paused; 152 this.paused = Minecraft.getInstance().getNetworkHandler() != nul 153 this.paused = Minecraft.getInstance().getNetworkHandler() != nul ... l && Minecraft.getInstance().isPaused(); ... l && Minecraft.getInstance().isPaused(); 153 if (!bl && this.paused) { 154 if (!bl && this.paused) { net/minecraft/server/integrated/IntegratedServer.java --- 4/4 --- Java 162 Utils.run(futureTask, LOGGER); 163 Utils.run(futureTask, LOGGER); 163 } 164 } 164 } else { 165 } else { 165 super.tick(); 166 super.tick(booleanSupplier); 166 if (this.minecraft.options.viewDistance != this.getPlayerMana 167 if (this.minecraft.options.viewDistance != this.getPlayerMana ... ger().getChunkViewDistance()) { ... ger().getChunkViewDistance()) { 167 LOGGER.info("Changing view distance to {}, from {}", this. 168 LOGGER.info("Changing view distance to {}, from {}", this. ... minecraft.options.viewDistance, this.getPlayerManager().getChunkViewDi ... minecraft.options.viewDistance, this.getPlayerManager().getChunkViewDi ... stance()); ... stance()); 168 this.getPlayerManager().updateViewDistance(this.minecraft. 169 this.getPlayerManager().updateViewDistance(this.minecraft. options.viewDistance); options.viewDistance); net/minecraft/util/Utils.java --- 1/2 --- Java 1 package net.minecraft.util; 1 package net.minecraft.util; 2 2 3 import com.google.common.collect.Iterators; 3 import com.google.common.collect.Iterators; . 4 import it.unimi.dsi.fastutil.Hash.Strategy; 4 import java.io.File; 5 import java.io.File; 5 import java.io.IOException; 6 import java.io.IOException; 6 import java.lang.management.ManagementFactory; 7 import java.lang.management.ManagementFactory; net/minecraft/util/Utils.java --- 2/2 --- Java 183 return object; 184 return object; 184 } 185 } ... 186 ... 187 @Environment(EnvType.CLIENT) ... 188 public static <K> Strategy<K> identityStrategy() { ... 189 return Utils.IdentityStrategy.INSTANCE; ... 190 } ... 191 ... 192 @Environment(EnvType.CLIENT) ... 193 static enum IdentityStrategy implements Strategy<Object> { ... 194 INSTANCE; ... 195 ... 196 @Override ... 197 public int hashCode(Object object) { ... 198 return System.identityHashCode(object); ... 199 } ... 200 ... 201 @Override ... 202 public boolean equals(Object object, Object object2) { ... 203 return object == object2; ... 204 } ... 205 } 185 206 186 public static enum OperatingSystem { 207 public static enum OperatingSystem { 187 LINUX, 208 LINUX, net/minecraft/server/world/chunk/ServerChunkCache.java --- 1/10 --- Java 1 package net.minecraft.server.world.chunk; 1 package net.minecraft.server.world.chunk; 2 2 3 import com.google.common.collect.Lists; . 4 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 3 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 5 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; 4 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; 6 import it.unimi.dsi.fastutil.longs.LongOpenHashSet; 5 import it.unimi.dsi.fastutil.longs.LongOpenHashSet; net/minecraft/server/world/chunk/ServerChunkCache.java --- 2/10 --- Java 10 import java.util.Iterator; 9 import java.util.Iterator; 11 import java.util.List; 10 import java.util.List; 12 import java.util.concurrent.CompletableFuture; 11 import java.util.concurrent.CompletableFuture; 13 import java.util.concurrent.ExecutionException; 12 import java.util.function.BooleanSupplier; 14 import java.util.function.Consumer; 13 import java.util.function.Consumer; 15 import javax.annotation.Nullable; 14 import javax.annotation.Nullable; 16 import net.minecraft.entity.living.mob.MobCategory; 15 import net.minecraft.entity.living.mob.MobCategory; net/minecraft/server/world/chunk/ServerChunkCache.java --- 3/10 --- Java 60 public void unloadChunk(WorldChunk worldChunk) { 59 public void unloadChunk(WorldChunk worldChunk) { 61 if (this.world.dimension.canChunkUnload(worldChunk.chunkX, worldC 60 if (this.world.dimension.canChunkUnload(worldChunk.chunkX, worldC .. hunk.chunkZ)) { .. hunk.chunkZ)) { 62 this.chunksToUnload.add(ChunkPos.toLong(worldChunk.chunkX, wor 61 this.chunksToUnload.add(ChunkPos.toLong(worldChunk.chunkX, wor .. ldChunk.chunkZ)); .. ldChunk.chunkZ)); 63 worldChunk.removed = true; .. 64 } 62 } 65 } 63 } 66 64 net/minecraft/server/world/chunk/ServerChunkCache.java --- 4/10 --- Java 72 70 73 @Nullable 71 @Nullable 74 @Override 72 @Override 75 public WorldChunk getLoadedChunk(int i, int j) { 73 public WorldChunk getChunk(int i, int j, boolean bl, boolean bl2) { 76 long l = ChunkPos.toLong(i, j); .. 77 WorldChunk worldChunk = this.chunks.get(l); .. 78 if (worldChunk != null) { .. 79 worldChunk.removed = false; .. 80 } .. 81 .. 82 return worldChunk; 74 WorldChunk worldChunk; 83 } 75 synchronized (this.storage) { 84 .. 85 @Nullable .. 86 private WorldChunk loadChunk(int i, int j) { 76 long l = ChunkPos.toLong(i, j); .. 77 worldChunk = this.chunks.get(l); .. 78 if (worldChunk != null) { .. 79 return worldChunk; .. 80 } .. 81 .. 82 if (bl) { 87 try { 83 try { 88 WorldChunk worldChunk = this.storage.loadChunk(this.world, i, 84 worldChunk = this.storage.loadChunk(this.world, i, j, w .. j, worldChunkx -> { .. orldChunkx -> { 89 worldChunkx.setLastSaveTime(this.world.getTime()); 85 worldChunkx.setLastSaveTime(this.world.getTime()); 90 this.chunks.put(ChunkPos.toLong(i, j), worldChunkx); 86 this.chunks.put(ChunkPos.toLong(i, j), worldChunkx); 91 }); 87 }); 92 if (worldChunk != null) { .. 93 worldChunk.load(); .. 94 } .. 95 .. 96 return worldChunk; .. 97 } catch (Exception var4) { 88 } catch (Exception var12) { 98 LOGGER.error("Couldn't load chunk", (Throwable)var4); 89 LOGGER.error("Couldn't load chunk", (Throwable)var12); 99 return null; .. 100 } 90 } 101 } 91 } 102 92 } 103 @Nullable 93 104 public WorldChunk getGeneratedChunk(int i, int j) { .. 105 synchronized (this.chunks) { .. 106 WorldChunk worldChunk = this.getLoadedChunk(i, j); .. 107 return worldChunk != null ? worldChunk : this.loadChunk(i, j) .. ... ; .. 108 } .. 109 } .. 110 .. 111 @Override .. 112 public WorldChunk getChunk(int i, int j) { .. 113 WorldChunk worldChunk = this.getGeneratedChunk(i, j); .. 114 if (worldChunk != null) { 94 if (worldChunk != null) { ... 95 worldChunk.load(); 115 return worldChunk; 96 return worldChunk; 116 } else { 97 } else if (bl2) { 117 try { 98 try { ... 99 this.taskManager.startBatch(); 118 return this.getChunkGenerationFuture(i, j).get(); 100 this.taskManager.addToBatch(new ChunkPos(i, j)); ... 101 CompletableFuture<ProtoChunk> completableFuture = this.tas ... ... kManager.endBatch(); ... 102 return completableFuture.thenApply(this::finalizeChunk).jo ... ... in(); 119 } catch (ExecutionException | InterruptedException var5) { 103 } catch (RuntimeException var11) { 120 throw this.createChunkGenerationCrashException(i, j, var5) 104 throw this.createChunkGenerationCrashException(i, j, var11 ... ; ... ); 121 } 105 } 122 } 106 } else { 123 } 107 return null; ... 108 } ... 109 } 124 110 125 @Override 111 @Override 126 public ChunkAccess getChunkForWorldGen(int i, int j) { 112 public ChunkAccess getChunkForWorldGen(int i, int j, boolean bl) { 127 synchronized (this.chunks) { ... 128 ChunkAccess chunkAccess = this.chunks.get(ChunkPos.toLong(i, 113 ChunkAccess chunkAccess = this.getChunk(i, j, true, false); ... j)); ... 129 return chunkAccess != null ? chunkAccess : this.scheduler.get 114 return chunkAccess != null ? chunkAccess : this.scheduler.getRes ... Result(new ChunkPos(i, j)); ... ult(new ChunkPos(i, j), bl); 130 } ... 131 } 115 } 132 116 133 public CompletableFuture<ProtoChunk> generateChunks(Iterable<ChunkP 117 public CompletableFuture<ProtoChunk> generateChunks(Iterable<ChunkP ... os> iterable, Consumer<WorldChunk> consumer) { ... os> iterable, Consumer<WorldChunk> consumer) { 134 this.taskManager.startBatch(); 118 this.taskManager.startBatch(); 135 119 136 for (ChunkPos chunkPos : iterable) { 120 for (ChunkPos chunkPos : iterable) { 137 WorldChunk worldChunk = this.getGeneratedChunk(chunkPos.x, ch 121 WorldChunk worldChunk = this.getChunk(chunkPos.x, chunkPos.z, ... unkPos.z); ... true, false); 138 if (worldChunk != null) { 122 if (worldChunk != null) { 139 consumer.accept(worldChunk); 123 consumer.accept(worldChunk); 140 } else { 124 } else { net/minecraft/server/world/chunk/ServerChunkCache.java --- 5/10 --- Java 145 return this.taskManager.endBatch(); 129 return this.taskManager.endBatch(); 146 } 130 } 147 ... 148 private CompletableFuture<WorldChunk> getChunkGenerationFuture(int ... ... i, int j) { ... 149 this.taskManager.startBatch(); ... 150 this.taskManager.addToBatch(new ChunkPos(i, j)); ... 151 CompletableFuture<ProtoChunk> completableFuture = this.taskManag ... ... er.endBatch(); ... 152 return completableFuture.thenApply(this::finalizeChunk); ... 153 } ... 154 131 155 private CrashException createChunkGenerationCrashException(int i, i 132 private CrashException createChunkGenerationCrashException(int i, i ... nt j, Throwable throwable) { ... nt j, Throwable throwable) { 156 CrashReport crashReport = CrashReport.of(throwable, "Exception g 133 CrashReport crashReport = CrashReport.of(throwable, "Exception g enerating new chunk"); enerating new chunk"); net/minecraft/server/world/chunk/ServerChunkCache.java --- 6/10 --- Java 190 return worldChunk2; 167 return worldChunk2; 191 } 168 } 192 ... 193 private void saveEntities(WorldChunk worldChunk) { ... 194 try { ... 195 this.storage.saveEntities(this.world, worldChunk); ... 196 } catch (Exception var3) { ... 197 LOGGER.error("Couldn't save entities", (Throwable)var3); ... 198 } ... 199 } ... 200 169 201 private void saveChunk(ChunkAccess chunkAccess) { 170 private void saveChunk(ChunkAccess chunkAccess) { 202 try { 171 try { net/minecraft/server/world/chunk/ServerChunkCache.java --- 7/10 --- Java 211 180 212 public boolean save(boolean bl) { 181 public boolean save(boolean bl) { 213 int i = 0; 182 int i = 0; 214 this.scheduler.tick(); 183 this.scheduler.tick(() -> true); 215 184 synchronized (this.storage) { 216 for (WorldChunk worldChunk : Lists.newArrayList(this.chunks.valu 185 for (WorldChunk worldChunk : this.chunks.values()) { ... es())) { ... 217 if (bl) { ... 218 this.saveEntities(worldChunk); ... 219 } ... 220 ... 221 if (worldChunk.shouldSave(bl)) { 186 if (worldChunk.shouldSave(bl)) { 222 this.saveChunk(worldChunk); 187 this.saveChunk(worldChunk); net/minecraft/server/world/chunk/ServerChunkCache.java --- 8/10 --- Java 225 return false; 190 return false; 226 } 191 } 227 } 192 } 228 } 193 } 229 194 230 return true; 195 return true; ... 196 } 231 } 197 } 232 198 233 @Override 199 @Override net/minecraft/server/world/chunk/ServerChunkCache.java --- 9/10 --- Java 240 } 206 } 241 207 242 public void save() { 208 public void save() { ... 209 synchronized (this.storage) { 243 this.storage.save(); 210 this.storage.save(); 244 } 211 } ... 212 } 245 213 246 @Override 214 @Override 247 public boolean tick() { 215 public boolean tick(BooleanSupplier booleanSupplier) { 248 if (!this.world.saving) { 216 if (!this.world.saving) { 249 if (!this.chunksToUnload.isEmpty()) { 217 if (!this.chunksToUnload.isEmpty()) { 250 Iterator<Long> iterator = this.chunksToUnload.iterator(); 218 Iterator<Long> iterator = this.chunksToUnload.iterator(); 251 219 252 for (int i = 0; i < 100 && iterator.hasNext(); iterator.re 220 for (int i = 0; iterator.hasNext() && (booleanSupplier.get ... move()) { ... AsBoolean() || i < 200 || this.chunksToUnload.size() > 2000); iterator ... ... .remove()) { 253 Long long_ = iterator.next(); 221 Long long_ = iterator.next(); ... 222 synchronized (this.storage) { 254 WorldChunk worldChunk = this.chunks.get(long_); 223 WorldChunk worldChunk = this.chunks.get(long_); 255 if (worldChunk != null && worldChunk.removed) { 224 if (worldChunk != null) { 256 worldChunk.unload(); 225 worldChunk.unload(); 257 this.saveChunk(worldChunk); 226 this.saveChunk(worldChunk); 258 this.saveEntities(worldChunk); ... 259 this.chunks.remove(long_); 227 this.chunks.remove(long_); 260 i++; 228 i++; 261 } 229 } ... 230 } 262 } 231 } 263 } 232 } 264 233 265 this.scheduler.tick(); 234 this.scheduler.tick(booleanSupplier); 266 this.storage.tick(); ... 267 } 235 } 268 236 269 return false; 237 return false; net/minecraft/server/world/chunk/ServerChunkCache.java --- 10/10 --- Java 304 return this.chunks.containsKey(ChunkPos.toLong(i, j)); 272 return this.chunks.containsKey(ChunkPos.toLong(i, j)); 305 } 273 } 306 ... 307 @Override ... 308 public boolean doesChunkExist(int i, int j) { ... 309 return this.chunks.containsKey(ChunkPos.toLong(i, j)) || this.st ... ... orage.doesChunkExist(i, j); ... 310 } ... 311 } 274 } net/minecraft/world/storage/SavedDataStorage.java --- 1/2 --- Java 44 File file = this.storage.getDataFile(string); 44 File file = this.storage.getDataFile(string); 45 if (file != null && file.exists()) { 45 if (file != null && file.exists()) { 46 savedData = function.apply(string); 46 savedData = function.apply(string); 47 savedData.readNbt(this.fixData(string, 1519).getCompound 47 savedData.readNbt(this.fixData(string, 1620).getCompound .. ("data")); .. ("data")); 48 this.savedDataById.put(string, savedData); 48 this.savedDataById.put(string, savedData); 49 this.savedData.add(savedData); 49 this.savedData.add(savedData); 50 } 50 } net/minecraft/world/storage/SavedDataStorage.java --- 2/2 --- Java 95 if (file != null) { 95 if (file != null) { 96 NbtCompound nbtCompound = new NbtCompound(); 96 NbtCompound nbtCompound = new NbtCompound(); 97 nbtCompound.put("data", savedData.writeNbt(new NbtCompo 97 nbtCompound.put("data", savedData.writeNbt(new NbtCompo .. und())); .. und())); 98 nbtCompound.putInt("DataVersion", 1519); 98 nbtCompound.putInt("DataVersion", 1620); 99 FileOutputStream fileOutputStream = new FileOutputStrea 99 FileOutputStream fileOutputStream = new FileOutputStrea .. m(file); .. m(file); 100 NbtIo.writeCompressed(nbtCompound, fileOutputStream); 100 NbtIo.writeCompressed(nbtCompound, fileOutputStream); 101 fileOutputStream.close(); 101 fileOutputStream.close(); net/minecraft/realms/RealmsSharedConstants.java --- Java 6 6 7 @Environment(EnvType.CLIENT) 7 @Environment(EnvType.CLIENT) 8 public class RealmsSharedConstants { 8 public class RealmsSharedConstants { 9 public static final int NETWORK_PROTOCOL_VERSION = 393; 9 public static final int NETWORK_PROTOCOL_VERSION = 394; 10 public static final int TICKS_PER_SECOND = 20; 10 public static final int TICKS_PER_SECOND = 20; 11 public static final String VERSION_STRING = "1.13"; 11 public static final String VERSION_STRING = "18w30a"; 12 public static final char[] ILLEGAL_FILE_CHARACTERS = SharedConstants 12 public static final char[] ILLEGAL_FILE_CHARACTERS = SharedConstants .. .INVALID_FILE_CHARS; .. .INVALID_FILE_CHARS; 13 } 13 } net/minecraft/client/render/entity/PlayerRenderer.java --- 1/2 --- Java 82 playerModel.leftSleeve.visible = clientPlayerEntity.isModelPa 82 playerModel.leftSleeve.visible = clientPlayerEntity.isModelPa .. rtVisible(PlayerModelPart.LEFT_SLEEVE); .. rtVisible(PlayerModelPart.LEFT_SLEEVE); 83 playerModel.rightSleeve.visible = clientPlayerEntity.isModelP 83 playerModel.rightSleeve.visible = clientPlayerEntity.isModelP .. artVisible(PlayerModelPart.RIGHT_SLEEVE); .. artVisible(PlayerModelPart.RIGHT_SLEEVE); 84 playerModel.sneaking = clientPlayerEntity.isSneaking(); 84 playerModel.sneaking = clientPlayerEntity.isSneaking(); 85 HumanoidModel.ArmPose armPose = HumanoidModel.ArmPose.EMPTY; 85 HumanoidModel.ArmPose armPose = this.m_8684649(clientPlayerEn .. .. tity, itemStack); 86 HumanoidModel.ArmPose armPose2 = HumanoidModel.ArmPose.EMPTY; 86 HumanoidModel.ArmPose armPose2 = this.m_8684649(clientPlayerE .. .. ntity, itemStack2); 87 if (!itemStack.isEmpty()) { .. 88 armPose = HumanoidModel.ArmPose.ITEM; .. 89 if (clientPlayerEntity.m_6884949() > 0) { .. 90 UseAction useAction = itemStack.getUseAction(); .. 91 if (useAction == UseAction.BLOCK) { .. 92 armPose = HumanoidModel.ArmPose.BLOCK; .. 93 } else if (useAction == UseAction.BOW) { .. 94 armPose = HumanoidModel.ArmPose.BOW_AND_ARROW; .. 95 } else if (useAction == UseAction.f_2480619) { .. 96 armPose = HumanoidModel.ArmPose.f_7340108; .. 97 } .. 98 } .. 99 } .. 100 .. 101 if (!itemStack2.isEmpty()) { .. 102 armPose2 = HumanoidModel.ArmPose.ITEM; .. 103 if (clientPlayerEntity.m_6884949() > 0) { .. 104 UseAction useAction = itemStack2.getUseAction(); .. 105 if (useAction == UseAction.BLOCK) { .. 106 armPose2 = HumanoidModel.ArmPose.BLOCK; .. 107 } else if (useAction == UseAction.f_2480619) { .. 108 armPose2 = HumanoidModel.ArmPose.f_7340108; .. 109 } .. 110 } .. 111 } .. 112 .. 113 if (clientPlayerEntity.getMainArm() == Arm.RIGHT) { 87 if (clientPlayerEntity.getMainArm() == Arm.RIGHT) { 114 playerModel.rightArmPose = armPose; 88 playerModel.rightArmPose = armPose; net/minecraft/client/render/entity/PlayerRenderer.java --- 2/2 --- Java 235 return f + (g - f) * h; 209 return f + (g - f) * h; 236 } 210 } ... 211 ... 212 private HumanoidModel.ArmPose m_8684649(ClientPlayerEntity clientPl ... ... ayerEntity, ItemStack itemStack) { ... 213 if (itemStack.isEmpty()) { ... 214 return HumanoidModel.ArmPose.EMPTY; ... 215 } else { ... 216 if (clientPlayerEntity.m_6884949() > 0) { ... 217 UseAction useAction = itemStack.getUseAction(); ... 218 if (useAction == UseAction.BLOCK) { ... 219 return HumanoidModel.ArmPose.BLOCK; ... 220 } ... 221 ... 222 if (useAction == UseAction.BOW) { ... 223 return HumanoidModel.ArmPose.BOW_AND_ARROW; ... 224 } ... 225 ... 226 if (useAction == UseAction.f_2480619) { ... 227 return HumanoidModel.ArmPose.f_7340108; ... 228 } ... 229 } ... 230 ... 231 return HumanoidModel.ArmPose.ITEM; ... 232 } ... 233 } 237 } 234 } net/minecraft/world/storage/RegionWorldStorageSource.java --- Java 33 this.datafixer = dataFixer; 33 this.datafixer = dataFixer; 34 34 35 try { 35 try { 36 Files.createDirectories(path); 36 Files.createDirectories(Files.exists(path) ? path.toRealPath() .. .. : path); 37 } catch (IOException var5) { 37 } catch (IOException var5) { 38 throw new RuntimeException(var5); 38 throw new RuntimeException(var5); 39 } 39 } net/minecraft/enchantment/Enchantment.java --- Java 104 Text text = new TranslatableText(this.getTranslationKey()); 104 Text text = new TranslatableText(this.getTranslationKey()); 105 if (this.isCurse()) { 105 if (this.isCurse()) { 106 text.setFormatting(Formatting.RED); 106 text.setFormatting(Formatting.RED); 107 } 107 } else { ... 108 text.setFormatting(Formatting.GRAY); ... 109 } 108 110 109 if (i != 1 || this.getMaxLevel() != 1) { 111 if (i != 1 || this.getMaxLevel() != 1) { 110 text.append(" ").append(new TranslatableText("enchantment.lev 112 text.append(" ").append(new TranslatableText("enchantment.lev el." + i)); el." + i)); net/minecraft/client/world/chunk/ClientChunkCache.java --- 1/3 --- Java 1 package net.minecraft.client.world.chunk; 1 package net.minecraft.client.world.chunk; 2 2 3 import com.google.common.base.MoreObjects; . 4 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 3 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 5 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; 4 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; 6 import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; 5 import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; . 6 import java.util.function.BooleanSupplier; 7 import javax.annotation.Nullable; 7 import javax.annotation.Nullable; 8 import net.fabricmc.api.EnvType; 8 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.Environment; 9 import net.fabricmc.api.Environment; . 10 import net.minecraft.network.PacketByteBuf; 10 import net.minecraft.util.Utils; 11 import net.minecraft.util.Utils; 11 import net.minecraft.util.math.ChunkPos; 12 import net.minecraft.util.math.ChunkPos; 12 import net.minecraft.world.World; 13 import net.minecraft.world.World; 13 import net.minecraft.world.biome.Biome; 14 import net.minecraft.world.biome.Biome; 14 import net.minecraft.world.chunk.ChunkAccess; .. 15 import net.minecraft.world.chunk.ChunkGenerator; 15 import net.minecraft.world.chunk.ChunkGenerator; 16 import net.minecraft.world.chunk.ChunkSource; 16 import net.minecraft.world.chunk.ChunkSource; 17 import net.minecraft.world.chunk.EmptyChunk; 17 import net.minecraft.world.chunk.EmptyChunk; net/minecraft/client/world/chunk/ClientChunkCache.java --- 2/3 --- Java 39 } 39 } 40 40 41 public void unloadChunk(int i, int j) { 41 public void unloadChunk(int i, int j) { 42 WorldChunk worldChunk = this.getChunk(i, j); .. 43 if (!worldChunk.isEmpty()) { .. 44 worldChunk.unload(); .. 45 } .. 46 .. 47 this.chunks.remove(ChunkPos.toLong(i, j)); 42 this.chunks.remove(ChunkPos.toLong(i, j)).unload(); 48 } 43 } 49 44 50 @Nullable 45 @Nullable 51 @Override 46 @Override 52 public WorldChunk getLoadedChunk(int i, int j) { 47 public WorldChunk getChunk(int i, int j, boolean bl, boolean bl2) { 53 return this.chunks.get(ChunkPos.toLong(i, j)); 48 WorldChunk worldChunk = this.chunks.get(ChunkPos.toLong(i, j)); .. 49 return bl2 && worldChunk == null ? this.empty : worldChunk; 54 } 50 } 55 51 56 public WorldChunk generateChunk(int i, int j) { 52 public WorldChunk replaceChunk(int i, int j, PacketByteBuf packetByt .. .. eBuf, int k, boolean bl) { .. 53 synchronized (this.chunks) { .. 54 long l = ChunkPos.toLong(i, j); 57 WorldChunk worldChunk = new WorldChunk(this.world, i, j, new Biom 55 WorldChunk worldChunk = this.chunks.computeIfAbsent(Long.value .. e[256]); .. Of(l), long_ -> new WorldChunk(this.world, i, j, new Biome[256])); 58 this.chunks.put(ChunkPos.toLong(i, j), worldChunk); 56 worldChunk.update(packetByteBuf, k, bl); 59 worldChunk.setLoaded(true); 57 worldChunk.setLoaded(true); 60 return worldChunk; 58 return worldChunk; .. 59 } 61 } 60 } 62 .. 63 @Override .. 64 public WorldChunk getChunk(int i, int j) { .. 65 return MoreObjects.firstNonNull(this.getLoadedChunk(i, j), this.e .. .. mpty); .. 66 } .. 67 .. 68 @Override .. 69 public ChunkAccess getChunkForWorldGen(int i, int j) { .. 70 ChunkAccess chunkAccess = this.chunks.get(ChunkPos.toLong(i, j)); .. 71 return (ChunkAccess)(chunkAccess != null ? chunkAccess : this.emp .. .. ty); .. 72 } .. 73 61 74 @Override 62 @Override 75 public boolean tick() { 63 public boolean tick(BooleanSupplier booleanSupplier) { 76 long l = Utils.getTimeMillis(); 64 long l = Utils.getTimeMillis(); 77 65 78 for (WorldChunk worldChunk : this.chunks.values()) { 66 for (WorldChunk worldChunk : this.chunks.values()) { net/minecraft/client/world/chunk/ClientChunkCache.java --- 3/3 --- Java 96 return null; 84 return null; 97 } 85 } 98 .. 99 @Override .. 100 public boolean doesChunkExist(int i, int j) { .. 101 return this.chunks.containsKey(ChunkPos.toLong(i, j)); .. 102 } .. 103 } 86 } net/minecraft/entity/projectile/AbstractArrowEntity.java --- 1/12 --- Java 1 package net.minecraft.entity.projectile; 1 package net.minecraft.entity.projectile; 2 2 3 import java.util.List; 3 import java.util.List; . 4 import java.util.Optional; . 5 import java.util.UUID; 4 import java.util.function.Predicate; 6 import java.util.function.Predicate; 5 import javax.annotation.Nullable; 7 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 8 import net.fabricmc.api.EnvType; net/minecraft/entity/projectile/AbstractArrowEntity.java --- 2/12 --- Java 27 import net.minecraft.nbt.NbtUtils; 29 import net.minecraft.nbt.NbtUtils; 28 import net.minecraft.network.packet.s2c.play.GameEventS2CPacket; 30 import net.minecraft.network.packet.s2c.play.GameEventS2CPacket; 29 import net.minecraft.server.entity.living.player.ServerPlayerEntity; 31 import net.minecraft.server.entity.living.player.ServerPlayerEntity; .. 32 import net.minecraft.server.world.ServerWorld; 30 import net.minecraft.sound.SoundEvent; 33 import net.minecraft.sound.SoundEvent; 31 import net.minecraft.sound.SoundEvents; 34 import net.minecraft.sound.SoundEvents; 32 import net.minecraft.util.math.BlockPos; 35 import net.minecraft.util.math.BlockPos; net/minecraft/entity/projectile/AbstractArrowEntity.java --- 3/12 --- Java 40 public abstract class AbstractArrowEntity extends Entity implements Dis 43 public abstract class AbstractArrowEntity extends Entity implements Dis .. pensable { .. pensable { 41 private static final Predicate<Entity> TARGETS = EntityFilter.NOT_SP 44 private static final Predicate<Entity> TARGETS = EntityFilter.NOT_SP .. ECTATOR.and(EntityFilter.ALIVE.and(Entity::hasCollision)); .. ECTATOR.and(EntityFilter.ALIVE.and(Entity::hasCollision)); 42 private static final DataAttribute<Byte> PROJECTILE_FLAGS = DataTrac 45 private static final DataAttribute<Byte> PROJECTILE_FLAGS = DataTrac .. ker.defineId(AbstractArrowEntity.class, DataSerializers.BYTE); .. ker.defineId(AbstractArrowEntity.class, DataSerializers.BYTE); .. 46 protected static final DataAttribute<Optional<UUID>> OWNER_UUID = Da .. .. taTracker.defineId(AbstractArrowEntity.class, DataSerializers.UUID); 43 private int blockX = -1; 47 private int blockX = -1; 44 private int blockY = -1; 48 private int blockY = -1; 45 private int blockZ = -1; 49 private int blockZ = -1; net/minecraft/entity/projectile/AbstractArrowEntity.java --- 4/12 --- Java 49 protected int inGroundTicks; 53 protected int inGroundTicks; 50 public AbstractArrowEntity.Pickup pickup = AbstractArrowEntity.Picku 54 public AbstractArrowEntity.Pickup pickup = AbstractArrowEntity.Picku .. p.DISALLOWED; .. p.DISALLOWED; 51 public int shake; 55 public int shake; 52 public Entity shooter; 56 public UUID shooter; 53 private int lifeTicks; 57 private int lifeTicks; 54 private int ticksInAir; 58 private int ticksInAir; 55 private double damage = 2.0; 59 private double damage = 2.0; net/minecraft/entity/projectile/AbstractArrowEntity.java --- 5/12 --- Java 67 71 68 protected AbstractArrowEntity(EntityType<?> entityType, LivingEntity 72 protected AbstractArrowEntity(EntityType<?> entityType, LivingEntity .. livingEntity, World world) { .. livingEntity, World world) { 69 this(entityType, livingEntity.x, livingEntity.y + (double)livingE 73 this(entityType, livingEntity.x, livingEntity.y + (double)livingE .. ntity.getEyeHeight() - 0.1F, livingEntity.z, world); .. ntity.getEyeHeight() - 0.1F, livingEntity.z, world); 70 this.shooter = livingEntity; 74 this.setOwner(livingEntity); 71 if (livingEntity instanceof PlayerEntity) { 75 if (livingEntity instanceof PlayerEntity) { 72 this.pickup = AbstractArrowEntity.Pickup.ALLOWED; 76 this.pickup = AbstractArrowEntity.Pickup.ALLOWED; 73 } 77 } net/minecraft/entity/projectile/AbstractArrowEntity.java --- 6/12 --- Java 88 @Override 92 @Override 89 protected void initDataTracker() { 93 protected void initDataTracker() { 90 this.dataTracker.define(PROJECTILE_FLAGS, (byte)0); 94 this.dataTracker.define(PROJECTILE_FLAGS, (byte)0); .. 95 this.dataTracker.define(OWNER_UUID, Optional.empty()); 91 } 96 } 92 97 93 public void setVelocity(Entity entity, float f, float g, float h, fl 98 public void setVelocity(Entity entity, float f, float g, float h, fl oat i, float j) { oat i, float j) { net/minecraft/entity/projectile/AbstractArrowEntity.java --- 7/12 --- Java 215 220 216 if (hitResult != null && hitResult.entity instanceof PlayerEn 221 if (hitResult != null && hitResult.entity instanceof PlayerEn ... tity) { ... tity) { 217 PlayerEntity playerEntity = (PlayerEntity)hitResult.entity 222 PlayerEntity playerEntity = (PlayerEntity)hitResult.entity ... ; ... ; ... 223 Entity entity2 = this.getEntity(); 218 if (this.shooter instanceof PlayerEntity && !((PlayerEntit 224 if (entity2 instanceof PlayerEntity && !((PlayerEntity)ent ... y)this.shooter).canAttack(playerEntity)) { ... ity2).canAttack(playerEntity)) { 219 hitResult = null; 225 hitResult = null; 220 } 226 } 221 } 227 } net/minecraft/entity/projectile/AbstractArrowEntity.java --- 8/12 --- Java 344 i += this.random.nextInt(i / 2 + 2); 350 i += this.random.nextInt(i / 2 + 2); 345 } 351 } 346 352 ... 353 Entity entity2 = this.getEntity(); 347 DamageSource damageSource; 354 DamageSource damageSource; 348 if (this.shooter == null) { 355 if (entity2 == null) { 349 damageSource = DamageSource.arrow(this, this); 356 damageSource = DamageSource.arrow(this, this); 350 } else { 357 } else { 351 damageSource = DamageSource.arrow(this, this.shooter); 358 damageSource = DamageSource.arrow(this, entity2); 352 } 359 } 353 360 354 if (this.isOnFire() && !(entity instanceof EndermanEntity)) { 361 if (this.isOnFire() && !(entity instanceof EndermanEntity)) { net/minecraft/entity/projectile/AbstractArrowEntity.java --- 9/12 --- Java 371 } 378 } 372 } 379 } 373 380 374 if (this.shooter instanceof LivingEntity) { 381 if (entity2 instanceof LivingEntity) { 375 EnchantmentHelper.applyProtectionWildcard(livingEntity, 382 EnchantmentHelper.applyProtectionWildcard(livingEntity, ... this.shooter); ... entity2); 376 EnchantmentHelper.applyDamageWildcard((LivingEntity)thi 383 EnchantmentHelper.applyDamageWildcard((LivingEntity)ent ... s.shooter, livingEntity); ... ity2, livingEntity); 377 } 384 } 378 385 379 this.onHit(livingEntity); 386 this.onHit(livingEntity); 380 if (this.shooter != null && livingEntity != this.shooter & 387 if (entity2 != null && livingEntity != entity2 && livingEn ... & livingEntity instanceof PlayerEntity && this.shooter instanceof Serv ... tity instanceof PlayerEntity && entity2 instanceof ServerPlayerEntity) ... erPlayerEntity) { ... { 381 ((ServerPlayerEntity)this.shooter).networkHandler.sendP 388 ((ServerPlayerEntity)entity2).networkHandler.sendPacket ... acket(new GameEventS2CPacket(6, 0.0F)); ... (new GameEventS2CPacket(6, 0.0F)); 382 } 389 } 383 } 390 } 384 391 net/minecraft/entity/projectile/AbstractArrowEntity.java --- 10/12 --- Java 428 435 429 for (int i = 0; i < list.size(); i++) { 436 for (int i = 0; i < list.size(); i++) { 430 Entity entity2 = list.get(i); 437 Entity entity2 = list.get(i); 431 if (entity2 != this.shooter || this.ticksInAir >= 5) { 438 if (entity2 != this.getEntity() || this.ticksInAir >= 5) { 432 Box box = entity2.getShape().expand(0.3F); 439 Box box = entity2.getShape().expand(0.3F); 433 HitResult hitResult = box.clip(vec3d, vec3d2); 440 HitResult hitResult = box.clip(vec3d, vec3d2); 434 if (hitResult != null) { 441 if (hitResult != null) { net/minecraft/entity/projectile/AbstractArrowEntity.java --- 11/12 --- Java 459 nbtCompound.putByte("pickup", (byte)this.pickup.ordinal()); 466 nbtCompound.putByte("pickup", (byte)this.pickup.ordinal()); 460 nbtCompound.putDouble("damage", this.damage); 467 nbtCompound.putDouble("damage", this.damage); 461 nbtCompound.putBoolean("crit", this.isCritical()); 468 nbtCompound.putBoolean("crit", this.isCritical()); ... 469 if (this.shooter != null) { ... 470 nbtCompound.putUuid("OwnerUUID", this.shooter); ... 471 } 462 } 472 } 463 473 464 @Override 474 @Override net/minecraft/entity/projectile/AbstractArrowEntity.java --- 12/12 --- Java 484 } 494 } 485 495 486 this.setCritical(nbtCompound.getBoolean("crit")); 496 this.setCritical(nbtCompound.getBoolean("crit")); ... 497 if (nbtCompound.hasUuid("OwnerUUID")) { ... 498 this.shooter = nbtCompound.getUuid("OwnerUUID"); ... 499 } 487 } 500 } ... 501 ... 502 public void setOwner(@Nullable Entity entity) { ... 503 this.shooter = entity == null ? null : entity.getUuid(); ... 504 } ... 505 ... 506 @Nullable ... 507 public Entity getEntity() { ... 508 return this.shooter != null && this.world instanceof ServerWorld ... ... ? ((ServerWorld)this.world).getEntity(this.shooter) : null; ... 509 } 488 510 489 @Override 511 @Override 490 public void onPlayerCollision(PlayerEntity playerEntity) { 512 public void onPlayerCollision(PlayerEntity playerEntity) { 491 if (!this.world.isClient && (this.inGround || this.isNoClip()) & 513 if (!this.world.isClient && (this.inGround || this.isNoClip()) & ... & this.shake <= 0) { ... & this.shake <= 0) { 492 boolean bl = this.pickup == AbstractArrowEntity.Pickup.ALLOWE 514 boolean bl = this.pickup == AbstractArrowEntity.Pickup.ALLOWE ... D ... D 493 || this.pickup == AbstractArrowEntity.Pickup.CREATIVE_ONLY 515 || this.pickup == AbstractArrowEntity.Pickup.CREATIVE_ONLY ... && playerEntity.abilities.creativeMode ... && playerEntity.abilities.creativeMode 494 || this.isNoClip() && this.shooter == playerEntity; 516 || this.isNoClip() && this.getEntity().getUuid() == player ... ... Entity.getUuid(); 495 if (this.pickup == AbstractArrowEntity.Pickup.ALLOWED && !pla 517 if (this.pickup == AbstractArrowEntity.Pickup.ALLOWED && !pla ... yerEntity.inventory.add(this.asItemStack())) { ... yerEntity.inventory.add(this.asItemStack())) { 496 bl = false; 518 bl = false; 497 } 519 } net/minecraft/server/world/chunk/WorldGenScheduler.java --- 1/4 --- Java 1 package net.minecraft.server.world.chunk; 1 package net.minecraft.server.world.chunk; 2 2 3 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 3 import it.unimi.dsi.fastutil.longs.Long2ObjectMap; 4 import it.unimi.dsi.fastutil.longs.Long2ObjectMaps; . 5 import java.io.IOException; 4 import java.io.IOException; 6 import java.util.EnumMap; 5 import java.util.EnumMap; 7 import java.util.Map; 6 import java.util.Map; . 7 import java.util.function.BooleanSupplier; 8 import javax.annotation.Nullable; 8 import javax.annotation.Nullable; 9 import net.minecraft.util.BlockableEventLoop; 9 import net.minecraft.util.BlockableEventLoop; 10 import net.minecraft.util.Long2ObjectCache; 10 import net.minecraft.util.Long2ObjectCache; net/minecraft/server/world/chunk/WorldGenScheduler.java --- 2/4 --- Java 27 private final ChunkGenerator<?> generator; 27 private final ChunkGenerator<?> generator; 28 private final ChunkStorage storage; 28 private final ChunkStorage storage; 29 private final BlockableEventLoop runner; 29 private final BlockableEventLoop runner; 30 private final Long2ObjectMap<Scheduler<ChunkPos, ChunkStatus, ProtoC 30 private final Long2ObjectMap<Scheduler<ChunkPos, ChunkStatus, ProtoC .. hunk>.a> chunkTasks = Long2ObjectMaps.synchronize( .. hunk>.a> chunkTasks = new Long2ObjectCache<Scheduler<ChunkPos, ChunkSta .. .. tus, ProtoChunk>.a>( 31 new Long2ObjectCache<Scheduler<ChunkPos, ChunkStatus, ProtoChunk> 31 8192, 5000 .. .a>(8192, 5000) { .. .. 32 ) { 32 protected boolean expires(Scheduler<ChunkPos, ChunkStatus, Pro 33 protected boolean expires(Scheduler<ChunkPos, ChunkStatus, ProtoC .. toChunk>.a tasks) { .. hunk>.a tasks) { 33 ProtoChunk protoChunk = (ProtoChunk)tasks.getResult(); 34 ProtoChunk protoChunk = (ProtoChunk)tasks.getResult(); 34 return !protoChunk.hasRunningWorldGenTasks() && !protoChunk 35 return !protoChunk.hasRunningWorldGenTasks() && !protoChunk.is .. .isDirty(); .. Dirty(); 35 } 36 } 36 } 37 }; 37 ); .. 38 38 39 public WorldGenScheduler(int i, World world, ChunkGenerator<?> chunk 39 public WorldGenScheduler(int i, World world, ChunkGenerator<?> chunk .. Generator, ChunkStorage chunkStorage, BlockableEventLoop blockableEvent .. Generator, ChunkStorage chunkStorage, BlockableEventLoop blockableEvent .. Loop) { .. Loop) { 40 super("WorldGen", i, ChunkStatus.FINALIZED, () -> new EnumMap<>(C 40 super("WorldGen", i, ChunkStatus.FINALIZED, () -> new EnumMap<>(C hunkStatus.class), () -> new EnumMap<>(ChunkStatus.class)); hunkStatus.class), () -> new EnumMap<>(ChunkStatus.class)); net/minecraft/server/world/chunk/WorldGenScheduler.java --- 3/4 --- Java 44 this.runner = blockableEventLoop; 44 this.runner = blockableEventLoop; 45 } 45 } 46 46 .. 47 @Nullable 47 protected Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a getTasks(Ch 48 protected Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a getTasks(Ch .. unkPos chunkPos) { .. unkPos chunkPos, boolean bl) { .. 49 synchronized (this.storage) { 48 return this.chunkTasks.computeIfAbsent(Long.valueOf(chunkPos.toLo 50 return bl ? this.chunkTasks.computeIfAbsent(Long.valueOf(chunk .. ng()), long_ -> { .. Pos.toLong()), long_ -> { 49 ProtoChunk protoChunk = this.loadProtoChunk(chunkPos.x, chunkP 51 ProtoChunk protoChunk; .. os.z); .. .. 52 try { .. 53 protoChunk = this.storage.loadProtoChunk(this.world, chu .. .. nkPos.x, chunkPos.z, chunkAccess -> { .. 54 }); .. 55 } catch (CrashException var5) { .. 56 throw var5; .. 57 } catch (Exception var6) { .. 58 LOGGER.error("Couldn't load protochunk", (Throwable)var6 .. .. ); .. 59 protoChunk = null; .. 60 } .. 61 50 if (protoChunk != null) { 62 if (protoChunk != null) { 51 protoChunk.setLastSaveTime(this.world.getTime()); 63 protoChunk.setLastSaveTime(this.world.getTime()); 52 return new Scheduler.Tasks(this, chunkPos, protoChunk, prot 64 return new Scheduler.Tasks(this, chunkPos, protoChunk, p .. oChunk.getStatus()); .. rotoChunk.getStatus()); 53 } else { 65 } else { 54 return new Scheduler.Tasks(this, chunkPos, new ProtoChunk(c 66 return new Scheduler.Tasks(this, chunkPos, new ProtoChun .. hunkPos, UpgradeData.EMPTY), ChunkStatus.EMPTY); .. k(chunkPos, UpgradeData.EMPTY), ChunkStatus.EMPTY); 55 } 67 } 56 }); 68 }) : this.chunkTasks.get(chunkPos.toLong()); .. 69 } 57 } 70 } 58 71 59 protected ProtoChunk runTask(ChunkPos chunkPos, ChunkStatus chunkSta 72 protected ProtoChunk runTask(ChunkPos chunkPos, ChunkStatus chunkSta .. tus, Map<ChunkPos, ProtoChunk> map) { .. tus, Map<ChunkPos, ProtoChunk> map) { 60 return chunkStatus.run(this.world, this.generator, map, chunkPos. 73 return chunkStatus.run(this.world, this.generator, map, chunkPos. .. x, chunkPos.z); .. x, chunkPos.z); 61 } 74 } 62 .. 63 @Nullable .. 64 private ProtoChunk loadProtoChunk(int i, int j) { .. 65 try { .. 66 return this.storage.loadProtoChunk(this.world, i, j, chunkAcce .. .. ss -> { .. 67 }); .. 68 } catch (CrashException var4) { .. 69 throw var4; .. 70 } catch (Exception var5) { .. 71 LOGGER.error("Couldn't load protochunk", (Throwable)var5); .. 72 return null; .. 73 } .. 74 } .. 75 75 76 protected Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a retain(Chun 76 protected Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a retain(Chun .. kPos chunkPos, Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a tasks) { .. kPos chunkPos, Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.a tasks) { 77 ((ProtoChunk)tasks.getResult()).addRunningWorldGenTasks(1); 77 ((ProtoChunk)tasks.getResult()).addRunningWorldGenTasks(1); net/minecraft/server/world/chunk/WorldGenScheduler.java --- 4/4 --- Java 82 ((ProtoChunk)tasks.getResult()).addRunningWorldGenTasks(-1); 82 ((ProtoChunk)tasks.getResult()).addRunningWorldGenTasks(-1); 83 } 83 } 84 84 85 public void tick() { 85 public void tick(BooleanSupplier booleanSupplier) { .. 86 synchronized (this.storage) { 86 this.chunkTasks.values().forEach(tasks -> { 87 for (Scheduler<ChunkPos, ChunkStatus, ProtoChunk>.Tasks tasks .. .. : this.chunkTasks.values()) { 87 ProtoChunk protoChunk = (ProtoChunk)tasks.getResult(); 88 ProtoChunk protoChunk = (ProtoChunk)tasks.getResult(); 88 if (protoChunk.isDirty() && protoChunk.getStatus().getChunkTy 89 if (protoChunk.isDirty() && protoChunk.getStatus().getChun .. pe() == ChunkStatus.ChunkType.PROTO_CHUNK) { .. kType() == ChunkStatus.ChunkType.PROTO_CHUNK) { 89 try { 90 try { 90 protoChunk.setLastSaveTime(this.world.getTime()); 91 protoChunk.setLastSaveTime(this.world.getTime()); 91 this.storage.saveChunk(this.world, protoChunk); 92 this.storage.saveChunk(this.world, protoChunk); 92 protoChunk.setDirty(false); 93 protoChunk.setDirty(false); 93 } catch (IOException var4) { 94 } catch (IOException var8) { 94 LOGGER.error("Couldn't save chunk", (Throwable)var4); 95 LOGGER.error("Couldn't save chunk", (Throwable)var8) .. .. ; 95 } catch (SessionLockException var5) { 96 } catch (SessionLockException var9) { 96 LOGGER.error("Couldn't save chunk; already in use by an 97 LOGGER.error("Couldn't save chunk; already in use by .. other instance of Minecraft?", (Throwable)var5); .. another instance of Minecraft?", (Throwable)var9); 97 } 98 } 98 } 99 } .. 100 .. 101 if (!booleanSupplier.getAsBoolean()) { .. 102 return; .. 103 } 99 }); 104 } .. 105 } 100 } 106 } 101 } 107 } net/minecraft/world/WorldRegion.java --- 1/3 --- Java 1 package net.minecraft.world; 1 package net.minecraft.world; 2 2 3 import java.util.List; . 4 import javax.annotation.Nullable; 3 import javax.annotation.Nullable; 5 import net.fabricmc.api.EnvType; 4 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 5 import net.fabricmc.api.Environment; net/minecraft/world/WorldRegion.java --- 2/3 --- Java 13 import net.minecraft.fluid.Fluids; 12 import net.minecraft.fluid.Fluids; 14 import net.minecraft.fluid.state.FluidState; 13 import net.minecraft.fluid.state.FluidState; 15 import net.minecraft.util.math.BlockPos; 14 import net.minecraft.util.math.BlockPos; 16 import net.minecraft.util.math.Box; .. 17 import net.minecraft.util.math.Direction; 15 import net.minecraft.util.math.Direction; 18 import net.minecraft.world.biome.Biome; 16 import net.minecraft.world.biome.Biome; 19 import net.minecraft.world.border.WorldBorder; 17 import net.minecraft.world.border.WorldBorder; net/minecraft/world/WorldRegion.java --- 3/3 --- Java 166 throw new RuntimeException("This method should never be called h 164 throw new RuntimeException("This method should never be called h ... ere. No entity logic inside Region"); ... ere. No entity logic inside Region"); 167 } 165 } 168 ... 169 @Override ... 170 public List<Entity> getEntities(@Nullable Entity entity, Box box) { ... 171 throw new RuntimeException("This method should never be called h ... ... ere. No entity logic inside Region"); ... 172 } ... 173 166 174 @Nullable 167 @Nullable 175 @Override 168 @Override net/minecraft/block/entity/BlockEntityType.java --- Java 64 Type<?> type = null; 64 Type<?> type = null; 65 65 66 try { 66 try { 67 type = DataFixes.getDataFixer().getSchema(DataFixUtils.makeKey 67 type = DataFixes.getDataFixer().getSchema(DataFixUtils.makeKey .. (1519)).getChoiceType(TypeReferences.BLOCK_ENTITY, string); .. (1620)).getChoiceType(TypeReferences.BLOCK_ENTITY, string); 68 } catch (IllegalStateException var4) { 68 } catch (IllegalStateException var4) { 69 if (SharedConstants.isDevelopment) { 69 if (SharedConstants.isDevelopment) { 70 throw var4; 70 throw var4; net/minecraft/unmapped/C_5953599.java --- Java 1 package net.minecraft.unmapped; 2 3 import com.google.common.collect.Lists; 4 import java.util.Iterator; 5 import java.util.List; 6 import java.util.Spliterators.AbstractSpliterator; 7 import java.util.function.Consumer; 8 import java.util.stream.Stream; 9 import java.util.stream.StreamSupport; 10 11 public class C_5953599<T> { 12 private final List<T> f_8448850 = Lists.newArrayList(); 13 private final Iterator<T> f_5931757; 14 15 public C_5953599(Stream<T> stream) { 16 this.f_5931757 = stream.iterator(); 17 } 18 19 public Stream<T> m_6651471() { 20 return StreamSupport.stream(new AbstractSpliterator<T>(Long.MAX_VALUE, 0) { 21 private int f_4130185 = 0; 22 23 @Override 24 public boolean tryAdvance(Consumer<? super T> consumer) { 25 T object; 26 if (this.f_4130185 >= C_5953599.this.f_8448850.size()) { 27 if (!C_5953599.this.f_5931757.hasNext()) { 28 return false; 29 } 30 31 object = C_5953599.this.f_5931757.next(); 32 C_5953599.this.f_8448850.add(object); 33 } else { 34 object = C_5953599.this.f_8448850.get(this.f_4130185); 35 } 36 37 this.f_4130185++; 38 consumer.accept(object); 39 return true; 40 } 41 }, false); 42 } 43 } 44 net/minecraft/client/gui/screen/world/WorldSelectionList.java --- 1/2 --- Java 2 2 3 import java.util.Collections; 3 import java.util.Collections; 4 import java.util.List; 4 import java.util.List; . 5 import java.util.Locale; . 6 import java.util.function.Supplier; 5 import javax.annotation.Nullable; 7 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 8 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.Environment; 9 import net.fabricmc.api.Environment; net/minecraft/client/gui/screen/world/WorldSelectionList.java --- 2/2 --- Java 20 private static final Logger LOGGER = LogManager.getLogger(); 22 private static final Logger LOGGER = LogManager.getLogger(); 21 private final SelectWorldScreen screen; 23 private final SelectWorldScreen screen; 22 private int selected = -1; 24 private int selected = -1; .. 25 @Nullable .. 26 private List<WorldSaveInfo> f_8436787 = null; 23 27 24 public WorldSelectionList(SelectWorldScreen selectWorldScreen, Minec 28 public WorldSelectionList( .. raft minecraft, int i, int j, int k, int l, int m) { .. .. 29 SelectWorldScreen selectWorldScreen, .. 30 Minecraft minecraft, .. 31 int i, .. 32 int j, .. 33 int k, .. 34 int l, .. 35 int m, .. 36 Supplier<String> supplier, .. 37 @Nullable WorldSelectionList worldSelectionList .. 38 ) { 25 super(minecraft, i, j, k, l, m); 39 super(minecraft, i, j, k, l, m); 26 this.screen = selectWorldScreen; 40 this.screen = selectWorldScreen; .. 41 if (worldSelectionList != null) { .. 42 this.f_8436787 = worldSelectionList.f_8436787; .. 43 } .. 44 27 this.load(); 45 this.load(supplier); 28 } 46 } 29 47 30 public void load() { 48 public void load(Supplier<String> supplier) { 31 this.clear(); 49 this.clear(); 32 WorldStorageSource worldStorageSource = this.minecraft.getWorldSt 50 WorldStorageSource worldStorageSource = this.minecraft.getWorldSt .. orageSource(); .. orageSource(); 33 51 if (this.f_8436787 == null) { 34 List<WorldSaveInfo> list; .. 35 try { 52 try { 36 list = worldStorageSource.getAll(); 53 this.f_8436787 = worldStorageSource.getAll(); 37 } catch (WorldStorageException var5) { 54 } catch (WorldStorageException var6) { 38 LOGGER.error("Couldn't load level list", (Throwable)var5); 55 LOGGER.error("Couldn't load level list", (Throwable)var6); 39 this.minecraft.openScreen(new FatalErrorScreen(I18n.translate( 56 this.minecraft.openScreen(new FatalErrorScreen(I18n.transla .. "selectWorld.unable_to_load"), var5.getMessage())); .. te("selectWorld.unable_to_load"), var6.getMessage())); 40 return; 57 return; 41 } 58 } 42 59 43 Collections.sort(list); 60 Collections.sort(this.f_8436787); .. 61 } .. 62 .. 63 String string = supplier.get().toLowerCase(Locale.ROOT); 44 64 45 for (WorldSaveInfo worldSaveInfo : list) { 65 for (WorldSaveInfo worldSaveInfo : this.f_8436787) { .. 66 if (worldSaveInfo.getName().toLowerCase(Locale.ROOT).contains( .. .. string) || worldSaveInfo.getSaveName().toLowerCase(Locale.ROOT).contain .. .. s(string)) { 46 this.add(new WorldSelectionEntry(this, worldSaveInfo, this.min 67 this.add(new WorldSelectionEntry(this, worldSaveInfo, this. .. ecraft.getWorldStorageSource())); .. minecraft.getWorldStorageSource())); 47 } 68 } .. 69 } 48 } 70 } 49 71 net/minecraft/client/render/PostChain.java --- 1/3 --- Java 5 import com.google.gson.JsonArray; 5 import com.google.gson.JsonArray; 6 import com.google.gson.JsonElement; 6 import com.google.gson.JsonElement; 7 import com.google.gson.JsonObject; 7 import com.google.gson.JsonObject; 8 import com.google.gson.JsonParser; . 9 import com.google.gson.JsonSyntaxException; 8 import com.google.gson.JsonSyntaxException; 10 import com.mojang.blaze3d.pipeline.RenderTarget; 9 import com.mojang.blaze3d.pipeline.RenderTarget; 11 import com.mojang.blaze3d.platform.GlStateManager; 10 import com.mojang.blaze3d.platform.GlStateManager; 12 import com.mojang.blaze3d.shaders.Uniform; 11 import com.mojang.blaze3d.shaders.Uniform; 13 import com.mojang.math.Matrix4f; 12 import com.mojang.math.Matrix4f; 14 import java.io.FileNotFoundException; 13 import java.io.FileNotFoundException; 15 import java.io.IOException; 14 import java.io.IOException; .. 15 import java.io.InputStreamReader; 16 import java.nio.charset.StandardCharsets; 16 import java.nio.charset.StandardCharsets; 17 import java.util.List; 17 import java.util.List; 18 import java.util.Map; 18 import java.util.Map; net/minecraft/client/render/PostChain.java --- 2/3 --- Java 54 } 54 } 55 55 56 private void load(TextureManager textureManager, Identifier identifi 56 private void load(TextureManager textureManager, Identifier identifi .. er) throws IOException, JsonSyntaxException { .. er) throws IOException, JsonSyntaxException { 57 JsonParser jsonParser = new JsonParser(); .. 58 Resource resource = null; 57 Resource resource = null; 59 58 60 try { 59 try { 61 resource = this.resourceManager.getResource(identifier); 60 resource = this.resourceManager.getResource(identifier); 62 JsonObject jsonObject = jsonParser.parse(IOUtils.toString(reso 61 JsonObject jsonObject = JsonUtils.getJsonObject(new InputStrea .. urce.asStream(), StandardCharsets.UTF_8)).getAsJsonObject(); .. mReader(resource.asStream(), StandardCharsets.UTF_8)); 63 if (JsonUtils.hasJsonArray(jsonObject, "targets")) { 62 if (JsonUtils.hasJsonArray(jsonObject, "targets")) { 64 JsonArray jsonArray = jsonObject.getAsJsonArray("targets"); 63 JsonArray jsonArray = jsonObject.getAsJsonArray("targets"); 65 int i = 0; 64 int i = 0; 66 65 67 for (JsonElement jsonElement : jsonArray) { 66 for (JsonElement jsonElement : jsonArray) { 68 try { 67 try { 69 this.parseTargetNode(jsonElement); 68 this.parseTargetNode(jsonElement); 70 } catch (Exception var18) { 69 } catch (Exception var17) { 71 ChainedJsonException chainedJsonException = ChainedJs 70 ChainedJsonException chainedJsonException = ChainedJs .. onException.forException(var18); .. onException.forException(var17); 72 chainedJsonException.prependJsonKey("targets[" + i + 71 chainedJsonException.prependJsonKey("targets[" + i + .. "]"); .. "]"); 73 throw chainedJsonException; 72 throw chainedJsonException; 74 } 73 } net/minecraft/client/render/PostChain.java --- 3/3 --- Java 84 for (JsonElement jsonElement : jsonArray) { 83 for (JsonElement jsonElement : jsonArray) { 85 try { 84 try { 86 this.parsePassNode(textureManager, jsonElement); 85 this.parsePassNode(textureManager, jsonElement); 87 } catch (Exception var17) { 86 } catch (Exception var16) { 88 ChainedJsonException chainedJsonException = ChainedJ 87 ChainedJsonException chainedJsonException = ChainedJ .. sonException.forException(var17); .. sonException.forException(var16); 89 chainedJsonException.prependJsonKey("passes[" + i + 88 chainedJsonException.prependJsonKey("passes[" + i + .. "]"); .. "]"); 90 throw chainedJsonException; 89 throw chainedJsonException; 91 } 90 } 92 91 93 i++; 92 i++; 94 } 93 } 95 } 94 } 96 } catch (Exception var19) { 95 } catch (Exception var18) { 97 ChainedJsonException chainedJsonException2 = ChainedJsonExcep 96 ChainedJsonException chainedJsonException2 = ChainedJsonExcep .. tion.forException(var19); .. tion.forException(var18); 98 chainedJsonException2.setFileNameAndFlush(identifier.getPath( 97 chainedJsonException2.setFileNameAndFlush(identifier.getPath( .. )); .. )); 99 throw chainedJsonException2; 98 throw chainedJsonException2; 100 } finally { 99 } finally { net/minecraft/nbt/NbtUtils.java --- Java 236 } 236 } 237 237 238 public static NbtCompound fix(DataFixer dataFixer, TypeReference ty 238 public static NbtCompound fix(DataFixer dataFixer, TypeReference ty ... peReference, NbtCompound nbtCompound, int i) { ... peReference, NbtCompound nbtCompound, int i) { 239 return fix(dataFixer, typeReference, nbtCompound, i, 1519); 239 return fix(dataFixer, typeReference, nbtCompound, i, 1620); 240 } 240 } 241 241 242 public static NbtCompound fix(DataFixer dataFixer, TypeReference ty 242 public static NbtCompound fix(DataFixer dataFixer, TypeReference ty peReference, NbtCompound nbtCompound, int i, int j) { peReference, NbtCompound nbtCompound, int i, int j) { net/minecraft/network/packet/s2c/play/WorldChunkS2CPacket.java --- Java 152 } 152 } 153 153 154 @Environment(EnvType.CLIENT) 154 @Environment(EnvType.CLIENT) 155 public int getChunkX() { 155 public int getChunkZ() { 156 return this.chunkX; 156 return this.chunkX; 157 } 157 } 158 158 159 @Environment(EnvType.CLIENT) 159 @Environment(EnvType.CLIENT) 160 public int getChunkZ() { 160 public int getChunkX() { 161 return this.chunkZ; 161 return this.chunkZ; 162 } 162 } 163 163 net/minecraft/block/shape/VoxelSet.java --- 1/2 --- Java 6 import net.minecraft.util.math.Direction; 6 import net.minecraft.util.math.Direction; 7 7 8 public abstract class VoxelSet { 8 public abstract class VoxelSet { 9 public static final VoxelSet f_2547146 = new VoxelSet(0, 0, 0) { . 10 @Override . 11 public void forEachBox(VoxelSet.EdgeConsumer edgeConsumer, boolea . .. n bl) { . 12 } . 13 . 14 @Override . 15 public boolean contains(int i, int j, int k) { . 16 return false; . 17 } . 18 . 19 @Override . 20 public boolean set(int i, int j, int k, boolean bl, boolean bl2) . .. { . 21 throw new IllegalArgumentException(); . 22 } . 23 . 24 @Override . 25 public boolean isEmpty() { . 26 return true; . 27 } . 28 . 29 @Override . 30 public int min(Direction.Axis axis) { . 31 return 0; . 32 } . 33 . 34 @Override . 35 public int max(Direction.Axis axis) { . 36 return -1; . 37 } . 38 }; . 39 private static final Direction.Axis[] AXES = Direction.Axis.values() 9 private static final Direction.Axis[] AXES = Direction.Axis.values() .. ; . ; 40 protected final int sizeX; 10 protected final int sizeX; 41 protected final int sizeY; 11 protected final int sizeY; net/minecraft/block/shape/VoxelSet.java --- 2/2 --- Java 147 return this.size(Direction.Axis.Z); 117 return this.size(Direction.Axis.Z); 148 } 118 } 149 ... 150 public static VoxelSet m_4872058() { ... 151 return f_2547146; ... 152 } ... 153 119 154 @Environment(EnvType.CLIENT) 120 @Environment(EnvType.CLIENT) 155 public void forEachEdge(VoxelSet.EdgeConsumer edgeConsumer, boolean 121 public void forEachEdge(VoxelSet.EdgeConsumer edgeConsumer, boolean bl) { bl) { net/minecraft/client/render/TextRenderer.java --- 1/6 --- Java 15 import java.util.Random; 15 import java.util.Random; 16 import net.fabricmc.api.EnvType; 16 import net.fabricmc.api.EnvType; 17 import net.fabricmc.api.Environment; 17 import net.fabricmc.api.Environment; .. 18 import net.minecraft.client.render.font.BakedGlyph; 18 import net.minecraft.client.render.font.FontSet; 19 import net.minecraft.client.render.font.FontSet; 19 import net.minecraft.client.render.texture.TextureManager; 20 import net.minecraft.client.render.texture.TextureManager; 20 import net.minecraft.resource.Identifier; 21 import net.minecraft.resource.Identifier; net/minecraft/client/render/TextRenderer.java --- 2/6 --- Java 144 q++; 145 q++; 145 } else { 146 } else { 146 GlyphInfo glyphInfo = this.fonts.getGlyphInfo(c); 147 GlyphInfo glyphInfo = this.fonts.getGlyphInfo(c); 147 if (bl2 && c != ' ') { 148 BakedGlyph bakedGlyph = bl2 && c != ' ' ? this.fonts.getRa ... ... ndomGlyph(glyphInfo) : this.fonts.getGlyph(c); 148 glyphInfo = this.fonts.getRandomGlyph(glyphInfo); ... 149 } ... 150 ... 151 float s = glyphInfo.m_8530833(); ... 152 Identifier identifier2 = glyphInfo.m_6048751(); 149 Identifier identifier2 = bakedGlyph.getTextureLocation(); 153 if (identifier2 != null) { 150 if (identifier2 != null) { 154 if (identifier != identifier2) { 151 if (identifier != identifier2) { 155 tessellator.end(); 152 tessellator.end(); net/minecraft/client/render/TextRenderer.java --- 3/6 --- Java 158 identifier = identifier2; 155 identifier = identifier2; 159 } 156 } 160 157 161 float t = bl3 ? glyphInfo.m_0831354() : 0.0F; 158 float s = bl3 ? glyphInfo.getBoldOffset() : 0.0F; 162 float u = bl ? glyphInfo.m_6194748() : 0.0F; 159 float t = bl ? glyphInfo.getShadowOffset() : 0.0F; 163 this.drawGlyph(glyphInfo, bl3, bl4, t, f + u, g + u, bu 160 this.drawGlyph(bakedGlyph, bl3, bl4, s, f + t, g + t, b ... fferBuilder, m, n, o, p); ... ufferBuilder, m, n, o, p); 164 s += t; ... 165 } 161 } 166 162 ... 163 float s = glyphInfo.getAdvance(bl3); 167 float t = bl ? 1.0F : 0.0F; 164 float t = bl ? 1.0F : 0.0F; 168 if (bl6) { 165 if (bl6) { 169 list.add( 166 list.add( net/minecraft/client/render/TextRenderer.java --- 4/6 --- Java 198 } 195 } 199 196 200 private void drawGlyph( 197 private void drawGlyph( 201 GlyphInfo glyphInfo, boolean bl, boolean bl2, float f, float g, 198 BakedGlyph bakedGlyph, boolean bl, boolean bl2, float f, float g ... float h, BufferBuilder bufferBuilder, float i, float j, float k, float ... , float h, BufferBuilder bufferBuilder, float i, float j, float k, flo ... l ... at l 202 ) { 199 ) { 203 glyphInfo.m_8715475(this.textureManager, bl2, g, h, bufferBuilde 200 bakedGlyph.render(this.textureManager, bl2, g, h, bufferBuilder, ... r, i, j, k, l); ... i, j, k, l); 204 if (bl) { 201 if (bl) { 205 glyphInfo.m_8715475(this.textureManager, bl2, g + f, h, buffe 202 bakedGlyph.render(this.textureManager, bl2, g + f, h, bufferB ... rBuilder, i, j, k, l); ... uilder, i, j, k, l); 206 } 203 } 207 } 204 } 208 205 net/minecraft/client/render/TextRenderer.java --- 5/6 --- Java 223 bl = false; 220 bl = false; 224 } 221 } 225 } else { 222 } else { 226 f += this.getWidth(c); 223 f += this.fonts.getGlyphInfo(c).getAdvance(bl); 227 if (bl) { ... 228 f++; ... 229 } ... 230 } 224 } 231 } 225 } 232 226 net/minecraft/client/render/TextRenderer.java --- 6/6 --- Java 235 } 229 } 236 230 237 private float getWidth(char c) { 231 private float getWidth(char c) { 238 return c == 167 ? 0.0F : (float)MathHelper.ceil(this.fonts.getGl 232 return c == 167 ? 0.0F : (float)MathHelper.ceil(this.fonts.getGl ... yphInfo(c).m_8530833()); ... yphInfo(c).getAdvance(false)); 239 } 233 } 240 234 241 public String trim(String string, int i) { 235 public String trim(String string, int i) { net/minecraft/entity/projectile/TridentEntity.java --- 1/6 --- Java 57 this.dealtDamage = true; 57 this.dealtDamage = true; 58 } 58 } 59 59 .. 60 Entity entity = this.getEntity(); 60 if ((this.dealtDamage || this.isNoClip()) && this.shooter != null 61 if ((this.dealtDamage || this.isNoClip()) && entity != null) { .. ) { .. 61 int i = this.dataTracker.get(LOYALTY); 62 int i = this.dataTracker.get(LOYALTY); 62 if (i > 0 && !this.isOwnerAlive()) { 63 if (i > 0 && !this.isOwnerAlive()) { 63 if (this.pickup == AbstractArrowEntity.Pickup.ALLOWED) { 64 if (!this.world.isClient && this.pickup == AbstractArrowEnt .. .. ity.Pickup.ALLOWED) { 64 this.dropItem(this.asItemStack(), 0.1F); 65 this.dropItem(this.asItemStack(), 0.1F); 65 } 66 } 66 67 67 this.remove(); 68 this.remove(); 68 } else if (i > 0) { 69 } else if (i > 0) { 69 this.setNoClip(true); 70 this.setNoClip(true); 70 Vec3d vec3d = new Vec3d(this.shooter.x - this.x, this.shoot 71 Vec3d vec3d = new Vec3d(entity.x - this.x, entity.y + (doub .. er.y + (double)this.shooter.getEyeHeight() - this.y, this.shooter.z - t .. le)entity.getEyeHeight() - this.y, entity.z - this.z); .. his.z); .. 71 this.y = this.y + vec3d.y * 0.015 * (double)i; 72 this.y = this.y + vec3d.y * 0.015 * (double)i; 72 if (this.world.isClient) { 73 if (this.world.isClient) { 73 this.prevTickY = this.y; 74 this.prevTickY = this.y; net/minecraft/entity/projectile/TridentEntity.java --- 2/6 --- Java 90 } 91 } 91 92 92 private boolean isOwnerAlive() { 93 private boolean isOwnerAlive() { .. 94 Entity entity = this.getEntity(); 93 return this.shooter == null || !this.shooter.isAlive() 95 return entity == null || !entity.isAlive() ? false : !(entity ins .. .. tanceof ServerPlayerEntity) || !((ServerPlayerEntity)entity).isSpectato .. .. r(); 94 ? false .. 95 : !(this.shooter instanceof ServerPlayerEntity) || !((ServerPl .. .. ayerEntity)this.shooter).isSpectator(); .. 96 } 96 } 97 97 98 @Override 98 @Override net/minecraft/entity/projectile/TridentEntity.java --- 3/6 --- Java 115 f += EnchantmentHelper.modifyDamage(this.tridentStack, living 115 f += EnchantmentHelper.modifyDamage(this.tridentStack, living ... Entity.getMobType()); ... Entity.getMobType()); 116 } 116 } 117 117 ... 118 Entity entity2 = this.getEntity(); 118 DamageSource damageSource = DamageSource.trident(this, (Entity)( 119 DamageSource damageSource = DamageSource.trident(this, (Entity)( ... this.shooter == null ? this : this.shooter)); ... entity2 == null ? this : entity2)); 119 this.dealtDamage = true; 120 this.dealtDamage = true; 120 SoundEvent soundEvent = SoundEvents.ITEM_TRIDENT_HIT; 121 SoundEvent soundEvent = SoundEvents.ITEM_TRIDENT_HIT; 121 if (entity.damage(damageSource, f) && entity instanceof LivingEn 122 if (entity.damage(damageSource, f) && entity instanceof LivingEn ... tity) { ... tity) { 122 LivingEntity livingEntity2 = (LivingEntity)entity; 123 LivingEntity livingEntity2 = (LivingEntity)entity; 123 if (this.shooter instanceof LivingEntity) { 124 if (entity2 instanceof LivingEntity) { 124 EnchantmentHelper.applyProtectionWildcard(livingEntity2, t 125 EnchantmentHelper.applyProtectionWildcard(livingEntity2, e ... his.shooter); ... ntity2); 125 EnchantmentHelper.applyDamageWildcard((LivingEntity)this.s 126 EnchantmentHelper.applyDamageWildcard((LivingEntity)entity ... hooter, livingEntity2); ... 2, livingEntity2); 126 } 127 } 127 128 128 this.onHit(livingEntity2); 129 this.onHit(livingEntity2); net/minecraft/entity/projectile/TridentEntity.java --- 4/6 --- Java 138 LightningBoltEntity lightningBoltEntity = new LightningBol 139 LightningBoltEntity lightningBoltEntity = new LightningBol ... tEntity( ... tEntity( 139 this.world, (double)blockPos.getX(), (double)blockPos.g 140 this.world, (double)blockPos.getX(), (double)blockPos.g ... etY(), (double)blockPos.getZ(), false ... etY(), (double)blockPos.getZ(), false 140 ); 141 ); 141 lightningBoltEntity.setChanneller(this.shooter instanceof 142 lightningBoltEntity.setChanneller(entity2 instanceof Serve ... ServerPlayerEntity ? (ServerPlayerEntity)this.shooter : null); ... rPlayerEntity ? (ServerPlayerEntity)entity2 : null); 142 this.world.addGlobalEntity(lightningBoltEntity); 143 this.world.addGlobalEntity(lightningBoltEntity); 143 soundEvent = SoundEvents.ITEM_TRIDENT_THUNDER; 144 soundEvent = SoundEvents.ITEM_TRIDENT_THUNDER; 144 g = 5.0F; 145 g = 5.0F; net/minecraft/entity/projectile/TridentEntity.java --- 5/6 --- Java 155 156 156 @Override 157 @Override 157 public void onPlayerCollision(PlayerEntity playerEntity) { 158 public void onPlayerCollision(PlayerEntity playerEntity) { ... 159 Entity entity = this.getEntity(); 158 if (this.shooter == null || this.shooter == playerEntity) { 160 if (entity == null || entity.getUuid() == playerEntity.getUuid() ... ... ) { 159 super.onPlayerCollision(playerEntity); 161 super.onPlayerCollision(playerEntity); 160 } 162 } 161 } 163 } net/minecraft/entity/projectile/TridentEntity.java --- 6/6 --- Java 179 181 180 @Override 182 @Override 181 protected void age() { 183 protected void age() { ... 184 int i = this.dataTracker.get(LOYALTY); 182 if (this.pickup != AbstractArrowEntity.Pickup.ALLOWED) { 185 if (this.pickup != AbstractArrowEntity.Pickup.ALLOWED || i <= 0) ... ... { 183 super.age(); 186 super.age(); 184 } 187 } 185 } 188 } net/minecraft/world/chunk/storage/ChunkStorage.java --- 1/2 --- Java 3 import java.io.IOException; 3 import java.io.IOException; 4 import java.util.function.Consumer; 4 import java.util.function.Consumer; 5 import javax.annotation.Nullable; 5 import javax.annotation.Nullable; 6 import net.minecraft.world.BlockView; . 7 import net.minecraft.world.World; 6 import net.minecraft.world.World; 8 import net.minecraft.world.WorldAccess; 7 import net.minecraft.world.WorldAccess; 9 import net.minecraft.world.chunk.ChunkAccess; 8 import net.minecraft.world.chunk.ChunkAccess; net/minecraft/world/chunk/storage/ChunkStorage.java --- 2/2 --- Java 20 19 21 void saveChunk(World world, ChunkAccess chunkAccess) throws IOExcept 20 void saveChunk(World world, ChunkAccess chunkAccess) throws IOExcept .. ion, SessionLockException; .. ion, SessionLockException; 22 .. 23 void saveEntities(BlockView blockView, WorldChunk worldChunk) throws .. .. IOException; .. 24 .. 25 void tick(); .. 26 21 27 void save(); 22 void save(); 28 .. 29 boolean doesChunkExist(int i, int j); .. 30 } 23 } net/minecraft/world/chunk/storage/RegionIo.java --- 1/2 --- Java 32 } 32 } 33 } 33 } 34 .. 35 public static synchronized RegionFile getRegionFileIfWorldExists(Fil .. .. e file, int i, int j) { .. 36 File file2 = new File(file, "region"); .. 37 File file3 = new File(file2, "r." + (i >> 5) + "." + (j >> 5) + " .. .. .mca"); .. 38 RegionFile regionFile = REGION_FILES.get(file3); .. 39 if (regionFile != null) { .. 40 return regionFile; .. 41 } else if (file2.exists() && file3.exists()) { .. 42 if (REGION_FILES.size() >= 256) { .. 43 clear(); .. 44 } .. 45 .. 46 RegionFile regionFile2 = new RegionFile(file3); .. 47 REGION_FILES.put(file3, regionFile2); .. 48 return regionFile2; .. 49 } else { .. 50 return null; .. 51 } .. 52 } .. 53 34 54 public static synchronized void clear() { 35 public static synchronized void clear() { 55 for (RegionFile regionFile : REGION_FILES.values()) { 36 for (RegionFile regionFile : REGION_FILES.values()) { net/minecraft/world/chunk/storage/RegionIo.java --- 2/2 --- Java 77 return regionFile.getChunkOutputStream(i & 31, j & 31); 58 return regionFile.getChunkOutputStream(i & 31, j & 31); 78 } 59 } 79 .. 80 public static boolean hasChunkData(File file, int i, int j) { .. 81 RegionFile regionFile = getRegionFileIfWorldExists(file, i, j); .. 82 return regionFile != null ? regionFile.hasChunkData(i & 31, j & 3 .. .. 1) : false; .. 83 } .. 84 } 60 } net/minecraft/world/village/SavedVillageData.java --- 1/2 --- Java 125 int j = 4; 125 int j = 4; 126 int k = 16; 126 int k = 16; 127 ... 128 for (BlockPos.Mutable mutable : BlockPos.iterateRegionMutable( 127 BlockPos.Mutable mutable = new BlockPos.Mutable(); ... 128 129 blockPos.getX() - 16, blockPos.getY() - 4, blockPos.getZ() - 129 for (int l = -16; l < 16; l++) { ... 16, blockPos.getX() + 16, blockPos.getY() + 4, blockPos.getZ() + 16 ... 130 )) { 130 for (int m = -4; m < 4; m++) { ... 131 for (int n = -16; n < 16; n++) { ... 132 mutable.set(blockPos).move(l, m, n); 131 BlockState blockState = this.world.getBlockState(mutable); 133 BlockState blockState = this.world.getBlockState(mutabl ... ... e); 132 if (this.isWoodenDoor(blockState)) { 134 if (this.isWoodenDoor(blockState)) { 133 VillageDoor villageDoor = this.getDoor(mutable); 135 VillageDoor villageDoor = this.getDoor(mutable); net/minecraft/world/village/SavedVillageData.java --- 2/2 --- Java 137 villageDoor.setLastVillageTick(this.ticks); 139 villageDoor.setLastVillageTick(this.ticks); 138 } 140 } 139 } 141 } ... 142 } 140 } 143 } ... 144 } 141 } 145 } 142 146 143 @Nullable 147 @Nullable net/minecraft/world/chunk/storage/AlphaChunkStorage.java --- Java 110 nbtCompound.put("TileTicks", chunk.tileTicks); 110 nbtCompound.put("TileTicks", chunk.tileTicks); 111 } 111 } ... 112 ... 113 nbtCompound.putBoolean("convertedFromAlphaFormat", true); 112 } 114 } 113 115 114 public static class Chunk { 116 public static class Chunk { net/minecraft/client/gui/overlay/DebugOverlay.java --- 1/2 --- Java 120 BlockPos blockPos = new BlockPos(this.minecraft.getCamera().x, t 120 BlockPos blockPos = new BlockPos(this.minecraft.getCamera().x, t ... his.minecraft.getCamera().getShape().minY, this.minecraft.getCamera(). ... his.minecraft.getCamera().getShape().minY, this.minecraft.getCamera(). ... z); ... z); 121 if (this.minecraft.hasReducedDebugInfo()) { 121 if (this.minecraft.hasReducedDebugInfo()) { 122 return Lists.newArrayList( 122 return Lists.newArrayList( 123 "Minecraft 1.13 (" + this.minecraft.getGameVersion() + "/" 123 "Minecraft 18w30a (" + this.minecraft.getGameVersion() + " ... + ClientBrandRetriever.getClientModName() + ")", ... /" + ClientBrandRetriever.getClientModName() + ")", 124 this.minecraft.fpsDebugString, 124 this.minecraft.fpsDebugString, 125 string, 125 string, 126 this.minecraft.worldRenderer.getChunkDebugInfo(), 126 this.minecraft.worldRenderer.getChunkDebugInfo(), net/minecraft/client/gui/overlay/DebugOverlay.java --- 2/2 --- Java 149 } 149 } 150 150 151 List<String> list = Lists.newArrayList( 151 List<String> list = Lists.newArrayList( 152 "Minecraft 1.13 (" 152 "Minecraft 18w30a (" 153 + this.minecraft.getGameVersion() 153 + this.minecraft.getGameVersion() 154 + "/" 154 + "/" 155 + ClientBrandRetriever.getClientModName() 155 + ClientBrandRetriever.getClientModName() net/minecraft/client/gui/widget/ServerListEntryWidget.java --- Java 76 }); 76 }); 77 } 77 } 78 78 79 boolean bl2 = this.entry.protocol > 393; 79 boolean bl2 = this.entry.protocol > 394; 80 boolean bl3 = this.entry.protocol < 393; 80 boolean bl3 = this.entry.protocol < 394; 81 boolean bl4 = bl2 || bl3; 81 boolean bl4 = bl2 || bl3; 82 this.minecraft.textRenderer.draw(this.entry.name, (float)(n + 32 82 this.minecraft.textRenderer.draw(this.entry.name, (float)(n + 32 .. + 3), (float)(m + 1), 16777215); .. + 3), (float)(m + 1), 16777215); 83 List<String> list = this.minecraft.textRenderer.split(this.entry. 83 List<String> list = this.minecraft.textRenderer.split(this.entry. description, i - 32 - 2); description, i - 32 - 2); net/minecraft/world/chunk/storage/io/ChunkIo.java --- 1/2 --- Java 36 private void runCallbacks() { 36 private void runCallbacks() { 37 for (int i = 0; i < this.callbacks.size(); i++) { 37 for (int i = 0; i < this.callbacks.size(); i++) { 38 ChunkIoCallback chunkIoCallback = this.callbacks.get(i); 38 ChunkIoCallback chunkIoCallback = this.callbacks.get(i); 39 boolean bl = chunkIoCallback.run(); 39 boolean bl; .. 40 synchronized (chunkIoCallback) { .. 41 bl = chunkIoCallback.run(); .. 42 } .. 43 40 if (!bl) { 44 if (!bl) { 41 this.callbacks.remove(i--); 45 this.callbacks.remove(i--); net/minecraft/world/chunk/storage/io/ChunkIo.java --- 2/2 --- Java 44 48 45 try { 49 try { 46 Thread.sleep(this.waiting ? 0L : 10L); 50 Thread.sleep(this.waiting ? 0L : 10L); 47 } catch (InterruptedException var6) { 51 } catch (InterruptedException var7) { 48 var6.printStackTrace(); 52 var7.printStackTrace(); 49 } 53 } 50 } 54 } 51 55 52 if (this.callbacks.isEmpty()) { 56 if (this.callbacks.isEmpty()) { 53 try { 57 try { 54 Thread.sleep(25L); 58 Thread.sleep(25L); 55 } catch (InterruptedException var5) { 59 } catch (InterruptedException var6) { 56 var5.printStackTrace(); 60 var6.printStackTrace(); 57 } 61 } 58 } 62 } 59 } 63 } net/minecraft/world/map/SavedMapData.java --- Java 46 this.dimension = (byte)l; 46 this.dimension = (byte)l; 47 this.trackingPosition = bl; 47 this.trackingPosition = bl; 48 this.unlimitedTracking = bl2; 48 this.unlimitedTracking = bl2; 49 this.isDirty(); 49 this.markDirty(); 50 } 50 } 51 51 52 public void updateCenter(double d, double e, int i) { 52 public void updateCenter(double d, double e, int i) { net/minecraft/server/network/handler/RemoteHandshakeNetworkHandler.java --- Java 22 switch (handshakeC2SPacket.getUsername()) { 22 switch (handshakeC2SPacket.getUsername()) { 23 case LOGIN: 23 case LOGIN: 24 this.connection.setProtocol(NetworkProtocol.LOGIN); 24 this.connection.setProtocol(NetworkProtocol.LOGIN); 25 if (handshakeC2SPacket.getVersion() > 393) { 25 if (handshakeC2SPacket.getVersion() > 394) { 26 Text text = new TranslatableText("multiplayer.disconnect 26 Text text = new TranslatableText("multiplayer.disconnect .. .outdated_server", "1.13"); .. .outdated_server", "18w30a"); 27 this.connection.send(new LoginFailS2CPacket(text)); 27 this.connection.send(new LoginFailS2CPacket(text)); 28 this.connection.disconnect(text); 28 this.connection.disconnect(text); 29 } else if (handshakeC2SPacket.getVersion() < 393) { 29 } else if (handshakeC2SPacket.getVersion() < 394) { 30 Text text = new TranslatableText("multiplayer.disconnect 30 Text text = new TranslatableText("multiplayer.disconnect .. .outdated_client", "1.13"); .. .outdated_client", "18w30a"); 31 this.connection.send(new LoginFailS2CPacket(text)); 31 this.connection.send(new LoginFailS2CPacket(text)); 32 this.connection.disconnect(text); 32 this.connection.disconnect(text); 33 } else { 33 } else { net/minecraft/block/shape/VoxelShapes.java --- 1/3 --- Java 3 import com.google.common.annotations.VisibleForTesting; 3 import com.google.common.annotations.VisibleForTesting; 4 import com.google.common.math.DoubleMath; 4 import com.google.common.math.DoubleMath; 5 import com.google.common.math.IntMath; 5 import com.google.common.math.IntMath; . 6 import it.unimi.dsi.fastutil.doubles.DoubleArrayList; 6 import it.unimi.dsi.fastutil.doubles.DoubleList; 7 import it.unimi.dsi.fastutil.doubles.DoubleList; 7 import it.unimi.dsi.fastutil.doubles.DoubleLists; 8 import java.util.Iterator; 8 import java.util.Objects; 9 import java.util.Objects; 9 import javax.annotation.Nullable; 10 import java.util.stream.Stream; 10 import net.fabricmc.api.EnvType; 11 import net.fabricmc.api.EnvType; 11 import net.fabricmc.api.Environment; 12 import net.fabricmc.api.Environment; 12 import net.minecraft.util.Utils; 13 import net.minecraft.util.Utils; 13 import net.minecraft.util.math.AxisCycle; 14 import net.minecraft.util.math.AxisCycle; 14 import net.minecraft.util.math.BlockPos; .. 15 import net.minecraft.util.math.Box; 15 import net.minecraft.util.math.Box; 16 import net.minecraft.util.math.Direction; 16 import net.minecraft.util.math.Direction; 17 import net.minecraft.util.math.Vec3d; .. 18 import net.minecraft.world.HitResult; .. 19 17 20 public final class VoxelShapes { 18 public final class VoxelShapes { 21 private static final VoxelShape EMPTY = new VoxelShape(VoxelSet.m_48 19 private static final VoxelShape EMPTY = new ArrayVoxelShape( .. 72058()) { .. 22 @Override .. 23 protected DoubleList getCoordinates(Direction.Axis axis) { 20 new BitSetVoxelSet(0, 0, 0), 24 return DoubleLists.EMPTY_LIST; .. 25 } .. 26 .. 27 @Override .. 28 public double min(Direction.Axis axis) { 21 new DoubleArrayList(new double[]{Double.MAX_VALUE}), 29 return Double.MAX_VALUE; .. 30 } .. 31 .. 32 @Override .. 33 public double max(Direction.Axis axis) { 22 new DoubleArrayList(new double[]{Double.MAX_VALUE}), 34 return -Double.MAX_VALUE; .. 35 } .. 36 .. 37 @Environment(EnvType.CLIENT) .. 38 @Override .. 39 public double getStartingCoord(Direction.Axis axis, double d, dou .. .. ble e) { .. 40 return Double.MAX_VALUE; .. 41 } .. 42 .. 43 @Environment(EnvType.CLIENT) .. 44 @Override .. 45 public double getEndingCoord(Direction.Axis axis, double d, doubl 23 new DoubleArrayList(new double[]{Double.MAX_VALUE}) .. e e) { .. 46 return -Double.MAX_VALUE; .. 47 } .. 48 }; 24 ); 49 private static final VoxelShape BLOCK = Utils.make(() -> { 25 private static final VoxelShape BLOCK = Utils.make(() -> { 50 VoxelSet voxelSet = new BitSetVoxelSet(1, 1, 1); 26 VoxelSet voxelSet = new BitSetVoxelSet(1, 1, 1); 51 voxelSet.set(0, 0, 0, true, true); 27 voxelSet.set(0, 0, 0, true, true); net/minecraft/block/shape/VoxelShapes.java --- 2/3 --- Java 212 ); 188 ); 213 } 189 } 214 190 215 public static double m_8409842(Direction.Axis axis, Box box, VoxelS 191 public static double calculateMaxOffset(Direction.Axis axis, Box bo ... hape voxelShape, double d) { ... x, Stream<VoxelShape> stream, double d) { 216 return m_7980766(AxisCycle.of(axis, Direction.Axis.X), box, voxe ... ... lShape, d); ... 217 } ... 218 ... 219 private static double m_7980766(AxisCycle axisCycle, Box box, Voxel 192 Iterator<VoxelShape> iterator = stream.iterator(); ... Shape voxelShape, double d) { ... ... 193 220 if (voxelShape.isEmpty()) { 194 while (iterator.hasNext()) { 221 return d; ... 222 } else if (Math.abs(d) < 1.0E-7) { 195 if (Math.abs(d) < 1.0E-7) { 223 return 0.0; 196 return 0.0; 224 } else { 197 } 225 AxisCycle axisCycle2 = axisCycle.inverse(); 198 226 Direction.Axis axis = axisCycle2.cycle(Direction.Axis.X); ... 227 Direction.Axis axis2 = axisCycle2.cycle(Direction.Axis.Y); ... 228 Direction.Axis axis3 = axisCycle2.cycle(Direction.Axis.Z); ... 229 double e = box.max(axis); ... 230 double f = box.min(axis); ... 231 int i = voxelShape.getCoordIndex(axis, f + 1.0E-7); ... 232 int j = voxelShape.getCoordIndex(axis, e - 1.0E-7); ... 233 int k = Math.max(0, voxelShape.getCoordIndex(axis2, box.min(a ... ... xis2) + 1.0E-7)); ... 234 int l = Math.min(voxelShape.voxels.size(axis2), voxelShape.ge ... ... tCoordIndex(axis2, box.max(axis2) - 1.0E-7) + 1); ... 235 int m = Math.max(0, voxelShape.getCoordIndex(axis3, box.min(a ... ... xis3) + 1.0E-7)); ... 236 int n = Math.min(voxelShape.voxels.size(axis3), voxelShape.ge ... ... tCoordIndex(axis3, box.max(axis3) - 1.0E-7) + 1); ... 237 int o = voxelShape.voxels.size(axis); ... 238 if (d > 0.0) { 199 d = iterator.next().calculateMaxDistance(axis, box, d); 239 for (int p = j + 1; p < o; p++) { 200 } 240 for (int q = k; q < l; q++) { 201 241 for (int r = m; r < n; r++) { ... 242 if (voxelShape.voxels.containsWithinBounds(axisCy ... ... cle2, p, q, r)) { ... 243 double g = voxelShape.get(axis, p) - e; ... 244 if (g >= -1.0E-7) { ... 245 d = Math.min(d, g); ... 246 } ... 247 ... 248 return d; ... 249 } ... 250 } ... 251 } ... 252 } ... 253 } else if (d < 0.0) { ... 254 for (int p = i - 1; p >= 0; p--) { ... 255 for (int q = k; q < l; q++) { ... 256 for (int rx = m; rx < n; rx++) { ... 257 if (voxelShape.voxels.containsWithinBounds(axisCy ... ... cle2, p, q, rx)) { ... 258 double g = voxelShape.get(axis, p + 1) - f; ... 259 if (g <= 1.0E-7) { ... 260 d = Math.max(d, g); ... 261 } ... 262 ... 263 return d; ... 264 } ... 265 } ... 266 } ... 267 } ... 268 } ... 269 ... 270 return d; ... 271 } ... 272 } ... 273 ... 274 @Nullable ... 275 public static HitResult m_2116308(VoxelShape voxelShape, Vec3d vec3 ... ... d, Vec3d vec3d2, BlockPos blockPos) { ... 276 if (voxelShape.isEmpty()) { ... 277 return null; 202 return d; 278 } else { 203 } 279 Vec3d vec3d3 = vec3d2.subtract(vec3d); ... 280 if (vec3d3.squaredDistanceToOrigin() < 1.0E-7) { ... 281 return null; ... 282 } else { ... 283 Vec3d vec3d4 = vec3d.add(vec3d3.scale(0.001)); ... 284 Vec3d vec3d5 = vec3d.add(vec3d3.scale(0.001)).subtract((do ... ... uble)blockPos.getX(), (double)blockPos.getY(), (double)blockPos.getZ() ... ... ); ... 285 return voxelShape.inBoundsAndContains(vec3d5.x, vec3d5.y, ... ... vec3d5.z) ... 286 ? new HitResult(vec3d4, Direction.getClosest(vec3d3.x, ... ... vec3d3.y, vec3d3.z), blockPos) ... 287 : Box.clip(voxelShape.getBoundingBoxes(), vec3d, vec3d2 ... ... , blockPos); ... 288 } ... 289 } ... 290 } ... 291 204 292 @Environment(EnvType.CLIENT) 205 @Environment(EnvType.CLIENT) 293 public static boolean isSideCovered(VoxelShape voxelShape, VoxelSha 206 public static boolean isSideCovered(VoxelShape voxelShape, VoxelSha pe voxelShape2, Direction direction) { pe voxelShape2, Direction direction) { net/minecraft/block/shape/VoxelShapes.java --- 3/3 --- Java 331 } 244 } 332 } 245 } 333 ... 334 public static VoxelShape m_8263899(VoxelShape voxelShape, Direction ... ... direction) { ... 335 if (!voxelShape.isEmpty() && voxelShape != block()) { ... 336 Direction.Axis axis = direction.getAxis(); ... 337 Direction.AxisDirection axisDirection = direction.getAxisDire ... ... ction(); ... 338 DoubleList doubleList = voxelShape.getCoordinates(axis); ... 339 if (doubleList.size() == 2 ... 340 && DoubleMath.fuzzyEquals(doubleList.getDouble(0), 0.0, 1. ... ... 0E-7) ... 341 && DoubleMath.fuzzyEquals(doubleList.getDouble(1), 1.0, 1. ... ... 0E-7)) { ... 342 return voxelShape; ... 343 } else { ... 344 int i = voxelShape.getCoordIndex(axis, axisDirection == Di ... ... rection.AxisDirection.POSITIVE ? 0.9999999 : 1.0E-7); ... 345 return new SliceShape(voxelShape, axis, i); ... 346 } ... 347 } else { ... 348 return voxelShape; ... 349 } ... 350 } ... 351 246 352 @VisibleForTesting 247 @VisibleForTesting 353 protected static IndexMerger createIndexMerger(int i, DoubleList do 248 protected static IndexMerger createIndexMerger(int i, DoubleList do ubleList, DoubleList doubleList2, boolean bl, boolean bl2) { ubleList, DoubleList doubleList2, boolean bl, boolean bl2) { net/minecraft/server/command/function/CommandFunction.java --- 1/4 --- Java 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; 4 import com.mojang.brigadier.ParseResults; 4 import com.mojang.brigadier.ParseResults; . 5 import com.mojang.brigadier.StringReader; 5 import com.mojang.brigadier.exceptions.CommandSyntaxException; 6 import com.mojang.brigadier.exceptions.CommandSyntaxException; 6 import java.util.ArrayDeque; 7 import java.util.ArrayDeque; 7 import java.util.List; 8 import java.util.List; net/minecraft/server/command/function/CommandFunction.java --- 2/4 --- Java 32 33 33 for (int i = 0; i < list.size(); i++) { 34 for (int i = 0; i < list.size(); i++) { 34 String string = list.get(i).trim(); 35 String string = list.get(i).trim(); .. 36 StringReader stringReader = new StringReader(string); 35 if (!string.startsWith("#") && !string.isEmpty()) { 37 if (stringReader.canRead() && stringReader.peek() != '#') { 36 String[] strings = string.split(" ", 2); 38 if (stringReader.peek() == '/') { 37 String string2 = strings[0]; 39 stringReader.skip(); 38 if (string2.startsWith("//")) { 40 if (stringReader.peek() == '/') { 39 throw new IllegalArgumentException( 41 throw new IllegalArgumentException( 40 "Unknown or invalid command '" + string2 + "' on line 42 "Unknown or invalid command '" + string + "' on li .. " + i + " (if you intended to make a comment, use '#' not '//')" .. ne " + i + " (if you intended to make a comment, use '#' not '//')" 41 ); 43 ); 42 } 44 } 43 45 44 if (string2.startsWith("/") && string2.length() > 1) { 46 String string2 = stringReader.readUnquotedString(); 45 throw new IllegalArgumentException( 47 throw new IllegalArgumentException( 46 "Unknown or invalid command '" 48 "Unknown or invalid command '" + string + "' on line .. .. " + i + " (did you mean '" + string2 + "'? Do not use a preceding forwa .. .. rds slash.)" 47 + string2 .. 48 + "' on line " .. 49 + i .. 50 + " (did you mean '" .. 51 + string2.substring(1) .. 52 + "'? Do not use a preceding forwards slash.)" .. 53 ); 49 ); 54 } 50 } 55 51 56 try { 52 try { 57 ParseResults<CommandSourceStack> parseResults = function 53 ParseResults<CommandSourceStack> parseResults = function .. Manager.getServer() .. Manager.getServer() 58 .getCommandHandler() 54 .getCommandHandler() 59 .getDispatcher() 55 .getDispatcher() 60 .parse(string, functionManager.getCommandHandler()); 56 .parse(stringReader, functionManager.getCommandHandle .. .. r()); 61 if (parseResults.getReader().canRead()) { 57 if (parseResults.getReader().canRead()) { 62 if (parseResults.getExceptions().size() == 1) { 58 if (parseResults.getExceptions().size() == 1) { 63 throw (CommandSyntaxException)parseResults.getExce 59 throw (CommandSyntaxException)parseResults.getExce ptions().values().iterator().next(); ptions().values().iterator().next(); net/minecraft/server/command/function/CommandFunction.java --- 3/4 --- Java 71 } 67 } 72 68 73 list2.add(new CommandFunction.CommandEntry(parseResults) 69 list2.add(new CommandFunction.CommandEntry(parseResults) .. ); .. ); 74 } catch (CommandSyntaxException var9) { 70 } catch (CommandSyntaxException var8) { 75 throw new IllegalArgumentException("Whilst parsing comma 71 throw new IllegalArgumentException("Whilst parsing comma .. nd on line " + i + ": " + var9.getMessage()); .. nd on line " + i + ": " + var8.getMessage()); 76 } 72 } 77 } 73 } 78 } 74 } net/minecraft/server/command/function/CommandFunction.java --- 4/4 --- Java 93 .execute(new ParseResults<>(this.results.getContext().withS 89 .execute( ource(commandSourceStack), this.results.getReader(), this.results.getEx .. ceptions())); .. 90 new ParseResults<>( 91 this.results.getContext().withSource(commandSourceSta .. ck), 92 this.results.getStartIndex(), 93 this.results.getReader(), 94 this.results.getExceptions() 95 ) net/minecraft/block/Block.java --- 1/7 --- Java 4 import java.util.List; 4 import java.util.List; 5 import java.util.Objects; 5 import java.util.Objects; 6 import java.util.Random; 6 import java.util.Random; . 7 import java.util.stream.Stream; 7 import javax.annotation.Nullable; 8 import javax.annotation.Nullable; 8 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.EnvType; 9 import net.fabricmc.api.Environment; 10 import net.fabricmc.api.Environment; net/minecraft/block/Block.java --- 2/7 --- Java 77 private static final Identifier AIR_KEY = new Identifier("air"); 78 private static final Identifier AIR_KEY = new Identifier("air"); 78 public static final DefaultedIdRegistry<Identifier, Block> REGISTRY 79 public static final DefaultedIdRegistry<Identifier, Block> REGISTRY .. = new DefaultedIdRegistry<>(AIR_KEY); .. = new DefaultedIdRegistry<>(AIR_KEY); 79 public static final Id2ObjectBiMap<BlockState> STATE_REGISTRY = new 80 public static final Id2ObjectBiMap<BlockState> STATE_REGISTRY = new .. Id2ObjectBiMap<>(); .. Id2ObjectBiMap<>(); .. 81 private static final Direction[] UPDATE_SHAPE_ORDER = new Direction[ .. .. ]{ .. 82 Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH, .. .. Direction.DOWN, Direction.UP .. 83 }; 80 protected final int lightLevel; 84 protected final int lightLevel; 81 protected final float miningSpeed; 85 protected final float miningSpeed; 82 protected final float resistance; 86 protected final float resistance; net/minecraft/block/Block.java --- 3/7 --- Java 137 return null; 141 return null; 138 } 142 } 139 143 140 public static BlockState pushEntitiesUp(BlockState blockState, Bloc 144 public static BlockState pushEntitiesUp(BlockState blockState, Bloc ... kState blockState2, WorldAccess worldAccess, BlockPos blockPos) { ... kState blockState2, World world, BlockPos blockPos) { 141 VoxelShape voxelShape = VoxelShapes.joinUnoptimized( 145 VoxelShape voxelShape = VoxelShapes.joinUnoptimized( 142 blockState.getCollisionShape(worldAccess, blockPos), block 146 blockState.getCollisionShape(world, blockPos), blockState2 ... State2.getCollisionShape(worldAccess, blockPos), BooleanOp.ONLY_SECOND ... .getCollisionShape(world, blockPos), BooleanOp.ONLY_SECOND 143 ) 147 ) 144 .move((double)blockPos.getX(), (double)blockPos.getY(), (doub 148 .move((double)blockPos.getX(), (double)blockPos.getY(), (doub ... le)blockPos.getZ()); ... le)blockPos.getZ()); 145 149 146 for (Entity entity : worldAccess.getEntities(null, voxelShape.bo 150 for (Entity entity : world.getEntities(null, voxelShape.bounds() ... unds())) { ... )) { 147 double d = VoxelShapes.m_8409842(Direction.Axis.Y, entity.get 151 double d = VoxelShapes.calculateMaxOffset(Direction.Axis.Y, e ... Shape().move(0.0, 1.0, 0.0), voxelShape, -1.0); ... ntity.getShape().move(0.0, 1.0, 0.0), Stream.of(voxelShape), -1.0); 148 entity.teleport(entity.x, entity.y + 1.0 + d, entity.z); 152 entity.teleport(entity.x, entity.y + 1.0 + d, entity.z); 149 } 153 } 150 154 net/minecraft/block/Block.java --- 4/7 --- Java 183 @Deprecated 187 @Deprecated 184 public void updateNeighborShapes(BlockState blockState, WorldAccess 188 public void updateNeighborShapes(BlockState blockState, WorldAccess ... worldAccess, BlockPos blockPos, int i) { ... worldAccess, BlockPos blockPos, int i) { 185 try (BlockPos.PooledMutable pooledMutable = BlockPos.PooledMutab 189 try (BlockPos.PooledMutable pooledMutable = BlockPos.PooledMutab ... le.origin()) { ... le.origin()) { 186 for (Direction direction : Direction.values()) { 190 for (Direction direction : UPDATE_SHAPE_ORDER) { 187 pooledMutable.set(blockPos).move(direction); 191 pooledMutable.set(blockPos).move(direction); 188 BlockState blockState2 = worldAccess.getBlockState(pooledM 192 BlockState blockState2 = worldAccess.getBlockState(pooledM ... utable); ... utable); 189 BlockState blockState3 = blockState2.updateShape(direction 193 BlockState blockState3 = blockState2.updateShape(direction .getOpposite(), blockState, worldAccess, pooledMutable, blockPos); .getOpposite(), blockState, worldAccess, pooledMutable, blockPos); net/minecraft/block/Block.java --- 5/7 --- Java 200 BlockState blockState2 = blockState; 204 BlockState blockState2 = blockState; 201 BlockPos.Mutable mutable = new BlockPos.Mutable(); 205 BlockPos.Mutable mutable = new BlockPos.Mutable(); 202 206 203 for (Direction direction : Direction.values()) { 207 for (Direction direction : UPDATE_SHAPE_ORDER) { 204 mutable.set(blockPos).move(direction); 208 mutable.set(blockPos).move(direction); 205 blockState2 = blockState2.updateShape(direction, worldAccess. 209 blockState2 = blockState2.updateShape(direction, worldAccess. ... getBlockState(mutable), worldAccess, blockPos, mutable); ... getBlockState(mutable), worldAccess, blockPos, mutable); 206 } 210 } net/minecraft/block/Block.java --- 6/7 --- Java 427 } 431 } 428 432 429 public static boolean isFaceFull(VoxelShape voxelShape, Direction d 433 public static boolean isFaceFull(VoxelShape voxelShape, Direction d ... irection) { ... irection) { 430 VoxelShape voxelShape2 = VoxelShapes.m_8263899(voxelShape, direc 434 VoxelShape voxelShape2 = voxelShape.getFaceShape(direction); ... tion); ... 431 return isShapeFullBlock(voxelShape2); 435 return isShapeFullBlock(voxelShape2); 432 } 436 } 433 437 net/minecraft/block/Block.java --- 7/7 --- Java 563 567 564 @Nullable 568 @Nullable 565 public static HitResult rayTrace(BlockState blockState, World world 569 public static HitResult rayTrace(BlockState blockState, World world ... , BlockPos blockPos, Vec3d vec3d, Vec3d vec3d2) { ... , BlockPos blockPos, Vec3d vec3d, Vec3d vec3d2) { 566 HitResult hitResult = VoxelShapes.m_2116308(blockState.getShape( 570 HitResult hitResult = blockState.getShape(world, blockPos).rayca ... world, blockPos), vec3d, vec3d2, blockPos); ... st(vec3d, vec3d2, blockPos); 567 if (hitResult != null) { 571 if (hitResult != null) { 568 HitResult hitResult2 = VoxelShapes.m_2116308(blockState.getIn 572 HitResult hitResult2 = blockState.getInteractionShape(world, ... teractionShape(world, blockPos), vec3d, vec3d2, blockPos); ... blockPos).raycast(vec3d, vec3d2, blockPos); 569 if (hitResult2 != null && hitResult2.offset.subtract(vec3d).s 573 if (hitResult2 != null && hitResult2.offset.subtract(vec3d).s ... quaredDistanceToOrigin() < hitResult.offset.subtract(vec3d).squaredDis ... quaredDistanceToOrigin() < hitResult.offset.subtract(vec3d).squaredDis ... tanceToOrigin()) { ... tanceToOrigin()) { 570 hitResult.face = hitResult2.face; 574 hitResult.face = hitResult2.face; 571 } 575 } net/minecraft/server/ChunkHolder.java --- 1/2 --- Java 34 public ChunkHolder(ChunkMap chunkMap, int i, int j) { 34 public ChunkHolder(ChunkMap chunkMap, int i, int j) { 35 this.chunkMap = chunkMap; 35 this.chunkMap = chunkMap; 36 this.pos = new ChunkPos(i, j); 36 this.pos = new ChunkPos(i, j); 37 this.chunk = chunkMap.getWorld().getChunkSource().getGeneratedChu 37 this.chunk = chunkMap.getWorld().getChunkSource().getChunk(i, j, .. nk(i, j); .. true, false); 38 } 38 } 39 39 40 public ChunkPos getPos() { 40 public ChunkPos getPos() { net/minecraft/server/ChunkHolder.java --- 2/2 --- Java 73 if (this.chunk != null) { 73 if (this.chunk != null) { 74 return true; 74 return true; 75 } else { 75 } else { 76 if (bl) { .. 77 this.chunk = this.chunkMap.getWorld().getChunkSource().getC 76 this.chunk = this.chunkMap.getWorld().getChunkSource().getChun .. hunk(this.pos.x, this.pos.z); .. k(this.pos.x, this.pos.z, true, bl); 78 } else { .. 79 this.chunk = this.chunkMap.getWorld().getChunkSource().getG .. .. eneratedChunk(this.pos.x, this.pos.z); .. 80 } .. 81 .. 82 return this.chunk != null; 77 return this.chunk != null; 83 } 78 } net/minecraft/client/gui/widget/TextFieldWidget.java --- 1/2 --- Java 45 private Predicate<String> filter = Predicates.alwaysTrue(); 45 private Predicate<String> filter = Predicates.alwaysTrue(); 46 private BiFunction<String, Integer, String> formatter = (string, int 46 private BiFunction<String, Integer, String> formatter = (string, int .. eger) -> string; .. eger) -> string; 47 47 48 public TextFieldWidget(int i, TextRenderer textRenderer, int j, int 48 public TextFieldWidget(int i, TextRenderer textRenderer, int j, int .. k, int l, int m) { .. k, int l, int m) { .. 49 this(i, textRenderer, j, k, l, m, null); .. 50 } .. 51 .. 52 public TextFieldWidget(int i, TextRenderer textRenderer, int j, int .. .. k, int l, int m, @Nullable TextFieldWidget textFieldWidget) { 49 this.id = i; 53 this.id = i; 50 this.textRenderer = textRenderer; 54 this.textRenderer = textRenderer; 51 this.x = j; 55 this.x = j; 52 this.y = k; 56 this.y = k; 53 this.width = l; 57 this.width = l; 54 this.height = m; 58 this.height = m; .. 59 if (textFieldWidget != null) { .. 60 this.setText(textFieldWidget.getText()); .. 61 } 55 } 62 } 56 63 57 public void setResponder(BiConsumer<Integer, String> biConsumer) { 64 public void setResponder(BiConsumer<Integer, String> biConsumer) { net/minecraft/client/gui/widget/TextFieldWidget.java --- 2/2 --- Java 211 } 218 } 212 219 213 public void setCursor(int i) { 220 public void setCursor(int i) { 214 this.selectionStart = i; 221 this.setSelectionStart(i); 215 int j = this.text.length(); ... 216 this.selectionStart = MathHelper.clamp(this.selectionStart, 0, j 222 this.setSelectionEnd(this.selectionStart); ... ); ... 217 this.setSelectionEnd(this.selectionStart); 223 this.onTextChanged(this.id, this.text); 218 } 224 } ... 225 ... 226 public void setSelectionStart(int i) { ... 227 this.selectionStart = MathHelper.clamp(i, 0, this.text.length()) ... ... ; ... 228 } 219 229 220 public void setCursorToStart() { 230 public void setCursorToStart() { 221 this.setCursor(0); 231 this.setCursor(0); net/minecraft/server/MinecraftServer.java --- 1/8 --- Java 43 import java.util.concurrent.FutureTask; 43 import java.util.concurrent.FutureTask; 44 import java.util.concurrent.TimeUnit; 44 import java.util.concurrent.TimeUnit; 45 import java.util.concurrent.TimeoutException; 45 import java.util.concurrent.TimeoutException; .. 46 import java.util.function.BooleanSupplier; 46 import javax.annotation.Nullable; 47 import javax.annotation.Nullable; 47 import javax.imageio.ImageIO; 48 import javax.imageio.ImageIO; 48 import net.fabricmc.api.EnvType; 49 import net.fabricmc.api.EnvType; net/minecraft/server/MinecraftServer.java --- 2/8 --- Java 519 this.running = false; 520 this.running = false; 520 } 521 } ... 522 ... 523 private boolean hasTimeLeft() { ... 524 return Utils.getTimeMillis() < this.nextTickTime; ... 525 } 521 526 522 @Override 527 @Override 523 public void run() { 528 public void run() { 524 try { 529 try { 525 if (this.init()) { 530 if (this.init()) { 526 this.nextTickTime = Utils.getTimeMillis(); 531 this.nextTickTime = Utils.getTimeMillis(); 527 this.status.setDescription(new LiteralText(this.motd)); 532 this.status.setDescription(new LiteralText(this.motd)); 528 this.status.setVersion(new ServerStatus.Version("1.13", 39 533 this.status.setVersion(new ServerStatus.Version("18w30a", ... 3)); ... 394)); 529 this.setStatus(this.status); 534 this.setStatus(this.status); 530 535 531 while (this.running) { 536 while (this.running) { net/minecraft/server/MinecraftServer.java --- 3/8 --- Java 537 this.lastWarnTime = this.nextTickTime; 542 this.lastWarnTime = this.nextTickTime; 538 } 543 } 539 544 540 this.tick(); 545 this.tick(this::hasTimeLeft); 541 this.nextTickTime += 50L; 546 this.nextTickTime += 50L; 542 547 543 while (Utils.getTimeMillis() < this.nextTickTime) { 548 while (this.hasTimeLeft()) { 544 Thread.sleep(1L); 549 Thread.sleep(1L); 545 } 550 } 546 551 net/minecraft/server/MinecraftServer.java --- 4/8 --- Java 625 public void exit() { 630 public void exit() { 626 } 631 } 627 632 628 public void tick() { 633 public void tick(BooleanSupplier booleanSupplier) { 629 long l = Utils.getTimeNanos(); 634 long l = Utils.getTimeNanos(); 630 this.ticks++; 635 this.ticks++; 631 if (this.profiling) { 636 if (this.profiling) { net/minecraft/server/MinecraftServer.java --- 5/8 --- Java 634 } 639 } 635 640 636 this.profiler.push("root"); 641 this.profiler.push("root"); 637 this.tickWorlds(); 642 this.tickWorlds(booleanSupplier); 638 if (l - this.lastPlayerSampleUpdate >= 5000000000L) { 643 if (l - this.lastPlayerSampleUpdate >= 5000000000L) { 639 this.lastPlayerSampleUpdate = l; 644 this.lastPlayerSampleUpdate = l; 640 this.status.setPlayers(new ServerStatus.Players(this.getMaxPl 645 this.status.setPlayers(new ServerStatus.Players(this.getMaxPl ayerCount(), this.getPlayerCount())); ayerCount(), this.getPlayerCount())); net/minecraft/server/MinecraftServer.java --- 6/8 --- Java 673 this.profiler.pop(); 678 this.profiler.pop(); 674 } 679 } 675 680 676 public void tickWorlds() { 681 public void tickWorlds(BooleanSupplier booleanSupplier) { 677 this.profiler.push("jobs"); 682 this.profiler.push("jobs"); 678 683 679 FutureTask<?> futureTask; 684 FutureTask<?> futureTask; net/minecraft/server/MinecraftServer.java --- 7/8 --- Java 703 this.profiler.push("tick"); 708 this.profiler.push("tick"); 704 709 705 try { 710 try { 706 serverWorld.tick(); 711 serverWorld.tick(booleanSupplier); 707 } catch (Throwable var9) { 712 } catch (Throwable var10) { 708 CrashReport crashReport = CrashReport.of(var9, "Excepti 713 CrashReport crashReport = CrashReport.of(var10, "Except ... on ticking world"); ... ion ticking world"); 709 serverWorld.populateCrashReport(crashReport); 714 serverWorld.populateCrashReport(crashReport); 710 throw new CrashException(crashReport); 715 throw new CrashException(crashReport); 711 } 716 } 712 717 713 try { 718 try { 714 serverWorld.tickEntities(); 719 serverWorld.tickEntities(); 715 } catch (Throwable var8) { 720 } catch (Throwable var9) { 716 CrashReport crashReport = CrashReport.of(var8, "Excepti 721 CrashReport crashReport = CrashReport.of(var9, "Excepti ... on ticking world entities"); ... on ticking world entities"); 717 serverWorld.populateCrashReport(crashReport); 722 serverWorld.populateCrashReport(crashReport); 718 throw new CrashException(crashReport); 723 throw new CrashException(crashReport); 719 } 724 } net/minecraft/server/MinecraftServer.java --- 8/8 --- Java 885 } 890 } 886 891 887 public String getGameVersion() { 892 public String getGameVersion() { 888 return "1.13"; 893 return "18w30a"; 889 } 894 } 890 895 891 public int getPlayerCount() { 896 public int getPlayerCount() { net/minecraft/unmapped/C_2770879.java --- 1/2 --- Java 3096 "{Name:'minecraft:wooden_door',Properties:{facing:'west',hal 3096 "{Name:'minecraft:wooden_door',Properties:{facing:'west',hal .... f:'upper',hinge:'right',open:'false',powered:'true'}}", .... f:'upper',hinge:'right',open:'false',powered:'true'}}", 3097 "{Name:'minecraft:wooden_door',Properties:{facing:'west',hal 3097 "{Name:'minecraft:wooden_door',Properties:{facing:'west',hal .... f:'upper',hinge:'right',open:'true',powered:'true'}}" .... f:'upper',hinge:'right',open:'true',powered:'true'}}" 3098 ); 3098 ); .... 3099 m_1188500(1036, "{Name:'minecraft:oak_door',Properties:{facing: .... .... 'east',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3100 m_1188500(1037, "{Name:'minecraft:oak_door',Properties:{facing: .... .... 'south',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3101 m_1188500(1038, "{Name:'minecraft:oak_door',Properties:{facing: .... .... 'west',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3102 m_1188500(1039, "{Name:'minecraft:oak_door',Properties:{facing: .... .... 'north',half:'upper',hinge:'left',open:'true',powered:'false'}}"); 3099 m_1188500(1042, "{Name:'minecraft:ladder',Properties:{facing:'n 3103 m_1188500(1042, "{Name:'minecraft:ladder',Properties:{facing:'n .... orth'}}", "{Name:'minecraft:ladder',Properties:{facing:'north'}}"); .... orth'}}", "{Name:'minecraft:ladder',Properties:{facing:'north'}}"); 3100 m_1188500(1043, "{Name:'minecraft:ladder',Properties:{facing:'s 3104 m_1188500(1043, "{Name:'minecraft:ladder',Properties:{facing:'s .... outh'}}", "{Name:'minecraft:ladder',Properties:{facing:'south'}}"); .... outh'}}", "{Name:'minecraft:ladder',Properties:{facing:'south'}}"); 3101 m_1188500(1044, "{Name:'minecraft:ladder',Properties:{facing:'w 3105 m_1188500(1044, "{Name:'minecraft:ladder',Properties:{facing:'w est'}}", "{Name:'minecraft:ladder',Properties:{facing:'west'}}"); est'}}", "{Name:'minecraft:ladder',Properties:{facing:'west'}}"); net/minecraft/unmapped/C_2770879.java --- 2/2 --- Java 3384 "{Name:'minecraft:iron_door',Properties:{facing:'west',half: 3388 "{Name:'minecraft:iron_door',Properties:{facing:'west',half: .... 'upper',hinge:'right',open:'false',powered:'true'}}", .... 'upper',hinge:'right',open:'false',powered:'true'}}", 3385 "{Name:'minecraft:iron_door',Properties:{facing:'west',half: 3389 "{Name:'minecraft:iron_door',Properties:{facing:'west',half: .... 'upper',hinge:'right',open:'true',powered:'true'}}" .... 'upper',hinge:'right',open:'true',powered:'true'}}" 3386 ); 3390 ); .... 3391 m_1188500(1148, "{Name:'minecraft:iron_door',Properties:{facing .... .... :'east',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3392 m_1188500(1149, "{Name:'minecraft:iron_door',Properties:{facing .... .... :'south',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3393 m_1188500(1150, "{Name:'minecraft:iron_door',Properties:{facing .... .... :'west',half:'upper',hinge:'left',open:'true',powered:'false'}}"); .... 3394 m_1188500(1151, "{Name:'minecraft:iron_door',Properties:{facing .... .... :'north',half:'upper',hinge:'left',open:'true',powered:'false'}}"); 3387 m_1188500( 3395 m_1188500( 3388 1152, "{Name:'minecraft:oak_pressure_plate',Properties:{powe 3396 1152, "{Name:'minecraft:oak_pressure_plate',Properties:{powe .... red:'false'}}", "{Name:'minecraft:wooden_pressure_plate',Properties:{ .... red:'false'}}", "{Name:'minecraft:wooden_pressure_plate',Properties:{ .... powered:'false'}}" .... powered:'false'}}" 3389 ); 3397 ); net/minecraft/client/render/font/FontTexture.java --- Java 54 rawGlyph.getLeft(), 54 rawGlyph.getLeft(), 55 rawGlyph.getRight(), 55 rawGlyph.getRight(), 56 rawGlyph.getUp(), 56 rawGlyph.getUp(), 57 rawGlyph.getDown(), 57 rawGlyph.getDown() 58 rawGlyph.m_7423871(), .. 59 rawGlyph.m_4192644(), .. 60 rawGlyph.m_1020198() .. 61 ); 58 ); 62 } else { 59 } else { 63 return null; 60 return null; net/minecraft/world/chunk/WorldChunk.java --- 1/3 --- Java 82 private long inhabitedTime; 82 private long inhabitedTime; 83 private int queuedLightChecks = 4096; 83 private int queuedLightChecks = 4096; 84 private final ConcurrentLinkedQueue<BlockPos> blockEntitiesToCreate 84 private final ConcurrentLinkedQueue<BlockPos> blockEntitiesToCreate .. = Queues.newConcurrentLinkedQueue(); .. = Queues.newConcurrentLinkedQueue(); 85 public boolean removed; .. 86 private ChunkStatus status = ChunkStatus.EMPTY; 85 private ChunkStatus status = ChunkStatus.EMPTY; 87 private int neighbors; 86 private int neighbors; 88 private final AtomicInteger tasks = new AtomicInteger(); 87 private final AtomicInteger tasks = new AtomicInteger(); net/minecraft/world/chunk/WorldChunk.java --- 2/3 --- Java 1053 } 1052 } 1054 1053 1055 public void doPostProcessing() { 1054 public void doPostProcessing() { 1056 this.upgradeData.upgrade(this); .... 1057 if (!this.status.isAtLeast(ChunkStatus.POST_PROCESSED) && this. 1055 if (!this.status.isAtLeast(ChunkStatus.POST_PROCESSED) && this. .... neighbors == 8) { .... neighbors == 8) { 1058 ChunkPos chunkPos = this.getPos(); 1056 ChunkPos chunkPos = this.getPos(); 1059 1057 net/minecraft/world/chunk/WorldChunk.java --- 3/3 --- Java 1108 1106 1109 this.pendingBlockEntities.clear(); 1107 this.pendingBlockEntities.clear(); 1110 this.setStatus(ChunkStatus.POST_PROCESSED); 1108 this.setStatus(ChunkStatus.POST_PROCESSED); .... 1109 this.upgradeData.upgrade(this); 1111 } 1110 } 1112 } 1111 } 1113 1112 net/minecraft/client/gui/screen/world/EditWorldScreen.java --- Java 74 Path path = worldStorageSource.getBackupDir(); 74 Path path = worldStorageSource.getBackupDir(); 75 75 76 try { 76 try { 77 Files.createDirectories(path); 77 Files.createDirectories(Files.exists(path) ? path.toReal .. .. Path() : path); 78 } catch (IOException var8) { 78 } catch (IOException var8) { 79 throw new RuntimeException(var8); 79 throw new RuntimeException(var8); 80 } 80 } net/minecraft/server/stat/ServerPlayerStats.java --- 1/2 --- Java 119 119 120 @Nullable 120 @Nullable 121 private <T> Stat<T> createStat(StatType<T> statType, String string) 121 private <T> Stat<T> createStat(StatType<T> statType, String string) ... { ... { ... 122 Identifier identifier = Identifier.parse(string); ... 123 if (identifier == null) { ... 124 return null; ... 125 } else { 122 T object = statType.getRegistry().get(new Identifier(string)); 126 T object = statType.getRegistry().get(identifier); 123 return object == null ? null : statType.get(object); 127 return object == null ? null : statType.get(object); ... 128 } 124 } 129 } 125 130 126 private static NbtCompound jsonToCompound(JsonObject jsonObject) { 131 private static NbtCompound jsonToCompound(JsonObject jsonObject) { net/minecraft/server/stat/ServerPlayerStats.java --- 2/2 --- Java 157 162 158 JsonObject jsonObject2 = new JsonObject(); 163 JsonObject jsonObject2 = new JsonObject(); 159 jsonObject2.add("stats", jsonObject); 164 jsonObject2.add("stats", jsonObject); 160 jsonObject2.addProperty("DataVersion", 1519); 165 jsonObject2.addProperty("DataVersion", 1620); 161 return jsonObject2.toString(); 166 return jsonObject2.toString(); 162 } 167 } 163 168 net/minecraft/client/gui/screen/world/WorldSelectionEntry.java --- 1/2 --- Java 175 public void join() { 175 public void join() { 176 if (this.info.isOutdated() || this.info.isOldCustomizedWorld()) 176 if (this.info.isOutdated() || this.info.isOldCustomizedWorld()) ... { ... { 177 String string = I18n.translate("selectWorld.backupQuestion"); 177 String string = I18n.translate("selectWorld.backupQuestion"); 178 String string2 = I18n.translate("selectWorld.backupWarning", 178 String string2 = I18n.translate("selectWorld.backupWarning", ... this.info.getVersionName().getFormattedString(), "1.13"); ... this.info.getVersionName().getFormattedString(), "18w30a"); 179 if (this.info.isOldCustomizedWorld()) { 179 if (this.info.isOldCustomizedWorld()) { 180 string = I18n.translate("selectWorld.backupQuestion.custom 180 string = I18n.translate("selectWorld.backupQuestion.custom ... ized"); ... ized"); 181 string2 = I18n.translate("selectWorld.backupWarning.custom 181 string2 = I18n.translate("selectWorld.backupWarning.custom ized"); ized"); net/minecraft/client/gui/screen/world/WorldSelectionEntry.java --- 2/2 --- Java 234 WorldStorageSource worldStorageSource = this.mine 234 WorldStorageSource worldStorageSource = this.mine ... craft.getWorldStorageSource(); ... craft.getWorldStorageSource(); 235 worldStorageSource.clearIo(); 235 worldStorageSource.clearIo(); 236 worldStorageSource.delete(this.info.getSaveName() 236 worldStorageSource.delete(this.info.getSaveName() ... ); ... ); 237 this.list.load(); 237 this.list.load(() -> this.screen.f_8575388.getTex ... ... t()); 238 } 238 } 239 239 240 this.minecraft.openScreen(this.screen); 240 this.minecraft.openScreen(this.screen); net/minecraft/world/WorldData.java --- 1/4 --- Java 78 78 79 protected WorldData() { 79 protected WorldData() { 80 this.dataFixer = null; 80 this.dataFixer = null; 81 this.playerDataVersion = 1519; 81 this.playerDataVersion = 1620; 82 this.setGeneratorOptions(new NbtCompound()); 82 this.setGeneratorOptions(new NbtCompound()); 83 } 83 } 84 84 net/minecraft/world/WorldData.java --- 2/4 --- Java 237 237 238 public WorldData(WorldSettings worldSettings, String string) { 238 public WorldData(WorldSettings worldSettings, String string) { 239 this.dataFixer = null; 239 this.dataFixer = null; 240 this.playerDataVersion = 1519; 240 this.playerDataVersion = 1620; 241 this.setSettings(worldSettings); 241 this.setSettings(worldSettings); 242 this.name = string; 242 this.name = string; 243 this.difficulty = DEFAULT_DIFFICULTY; 243 this.difficulty = DEFAULT_DIFFICULTY; net/minecraft/world/WorldData.java --- 3/4 --- Java 267 267 268 private void writeNbt(NbtCompound nbtCompound, NbtCompound nbtCompo 268 private void writeNbt(NbtCompound nbtCompound, NbtCompound nbtCompo ... und2) { ... und2) { 269 NbtCompound nbtCompound3 = new NbtCompound(); 269 NbtCompound nbtCompound3 = new NbtCompound(); 270 nbtCompound3.putString("Name", "1.13"); 270 nbtCompound3.putString("Name", "18w30a"); 271 nbtCompound3.putInt("Id", 1519); 271 nbtCompound3.putInt("Id", 1620); 272 nbtCompound3.putBoolean("Snapshot", false); 272 nbtCompound3.putBoolean("Snapshot", true); 273 nbtCompound.put("Version", nbtCompound3); 273 nbtCompound.put("Version", nbtCompound3); 274 nbtCompound.putInt("DataVersion", 1519); 274 nbtCompound.putInt("DataVersion", 1620); 275 nbtCompound.putLong("RandomSeed", this.seed); 275 nbtCompound.putLong("RandomSeed", this.seed); 276 nbtCompound.putString("generatorName", this.generatorType.getNam 276 nbtCompound.putString("generatorName", this.generatorType.getNam ... e()); ... e()); 277 nbtCompound.putInt("generatorVersion", this.generatorType.getVer 277 nbtCompound.putInt("generatorVersion", this.generatorType.getVer sion()); sion()); net/minecraft/world/WorldData.java --- 4/4 --- Java 380 380 381 private void upgradePlayerData() { 381 private void upgradePlayerData() { 382 if (!this.upgradedPlayerData && this.playerData != null) { 382 if (!this.upgradedPlayerData && this.playerData != null) { 383 if (this.playerDataVersion < 1519) { 383 if (this.playerDataVersion < 1620) { 384 if (this.dataFixer == null) { 384 if (this.dataFixer == null) { 385 throw new NullPointerException("Fixer Upper not set ins 385 throw new NullPointerException("Fixer Upper not set ins ... ide LevelData, and the player tag is not upgraded."); ... ide LevelData, and the player tag is not upgraded."); 386 } 386 } net/minecraft/client/gui/screen/world/SelectWorldScreen.java --- 1/3 --- Java 5 import javax.annotation.Nullable; 5 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.Environment; 7 import net.fabricmc.api.Environment; 8 import net.minecraft.client.gui.GuiEventListener; . 9 import net.minecraft.client.gui.screen.Screen; 8 import net.minecraft.client.gui.screen.Screen; 10 import net.minecraft.client.gui.widget.ButtonWidget; 9 import net.minecraft.client.gui.widget.ButtonWidget; .. 10 import net.minecraft.client.gui.widget.TextFieldWidget; 11 import net.minecraft.client.resource.language.I18n; 11 import net.minecraft.client.resource.language.I18n; 12 import org.apache.logging.log4j.LogManager; 12 import org.apache.logging.log4j.LogManager; 13 import org.apache.logging.log4j.Logger; 13 import org.apache.logging.log4j.Logger; net/minecraft/client/gui/screen/world/SelectWorldScreen.java --- 2/3 --- Java 22 private ButtonWidget playSelectedWorldButton; 22 private ButtonWidget playSelectedWorldButton; 23 private ButtonWidget renameWorldButton; 23 private ButtonWidget renameWorldButton; 24 private ButtonWidget recreateWorldButton; 24 private ButtonWidget recreateWorldButton; .. 25 protected TextFieldWidget f_8575388; 25 private WorldSelectionList worldList; 26 private WorldSelectionList worldList; 26 27 27 public SelectWorldScreen(Screen screen) { 28 public SelectWorldScreen(Screen screen) { 28 this.parent = screen; 29 this.parent = screen; 29 } 30 } 30 31 31 @Override 32 @Override 32 public GuiEventListener getFocused() { 33 public boolean mouseScrolled(double d) { 33 return this.worldList; 34 return this.worldList.mouseScrolled(d); 34 } 35 } 35 36 36 @Override 37 @Override 37 protected void init() { 38 public void tick() { 38 this.title = I18n.translate("selectWorld.title"); 39 this.f_8575388.tick(); 39 this.worldList = new WorldSelectionList(this, this.minecraft, thi .. .. s.width, this.height, 32, this.height - 64, 36); .. 40 this.addButtons(); .. 41 } 40 } 42 41 .. 42 @Override .. 43 protected void init() { .. 44 this.minecraft.keyboardHandler.setSendRepeatsToGui(true); .. 45 this.title = I18n.translate("selectWorld.title"); .. 46 this.f_8575388 = new TextFieldWidget(0, this.textRenderer, this.w .. .. idth / 2 - 100, 22, 200, 20, this.f_8575388) { .. 47 @Override 43 public void addButtons() { 48 public void setFocused(boolean bl) { .. 49 super.setFocused(true); .. 50 } .. 51 }; .. 52 this.f_8575388.setResponder((integer, string) -> this.worldList.l .. .. oad(() -> string)); .. 53 this.worldList = new WorldSelectionList( .. 54 this, this.minecraft, this.width, this.height, 48, this.height .. .. - 64, 36, () -> this.f_8575388.getText(), this.worldList .. 55 ); 44 this.playSelectedWorldButton = this.addButton( 56 this.playSelectedWorldButton = this.addButton( 45 new ButtonWidget(1, this.width / 2 - 154, this.height - 52, 15 57 new ButtonWidget(1, this.width / 2 - 154, this.height - 52, 15 .. 0, 20, I18n.translate("selectWorld.select")) { .. 0, 20, I18n.translate("selectWorld.select")) { 46 @Override 58 @Override net/minecraft/client/gui/screen/world/SelectWorldScreen.java --- 3/3 --- Java 95 this.deleteWorldButton.active = false; 107 this.deleteWorldButton.active = false; 96 this.renameWorldButton.active = false; 108 this.renameWorldButton.active = false; 97 this.recreateWorldButton.active = false; 109 this.recreateWorldButton.active = false; .. 110 this.children.add(this.f_8575388); 98 this.children.add(this.worldList); 111 this.children.add(this.worldList); 99 } 112 this.f_8575388.setFocused(true); .. 113 this.f_8575388.setFocusUnlocked(false); .. 114 } .. 115 .. 116 @Override .. 117 public boolean keyPressed(int i, int j, int k) { .. 118 return this.f_8575388.keyPressed(i, j, k); .. 119 } .. 120 .. 121 @Override .. 122 public boolean charTyped(char c, int i) { .. 123 return this.f_8575388.charTyped(c, i); .. 124 } 100 125 101 @Override 126 @Override 102 public void render(int i, int j, float f) { 127 public void render(int i, int j, float f) { 103 this.tooltip = null; 128 this.tooltip = null; 104 this.worldList.render(i, j, f); 129 this.worldList.render(i, j, f); ... 130 this.f_8575388.render(i, j, f); 105 this.drawCenteredString(this.textRenderer, this.title, this.widt 131 this.drawCenteredString(this.textRenderer, this.title, this.widt ... h / 2, 20, 16777215); ... h / 2, 8, 16777215); 106 super.render(i, j, f); 132 super.render(i, j, f); 107 if (this.tooltip != null) { 133 if (this.tooltip != null) { 108 this.renderTooltip(Lists.newArrayList(Splitter.on("\n").split 134 this.renderTooltip(Lists.newArrayList(Splitter.on("\n").split (this.tooltip)), i, j); (this.tooltip)), i, j); net/minecraft/client/render/font/EmptyGlyph.java --- Java 1 package net.minecraft.client.render.font; 2 3 import com.mojang.blaze3d.vertex.BufferBuilder; 4 import javax.annotation.Nullable; 5 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 7 import net.minecraft.client.render.texture.TextureManager; 8 import net.minecraft.resource.Identifier; 9 10 @Environment(EnvType.CLIENT) 11 public class EmptyGlyph extends BakedGlyph { 12 public EmptyGlyph() { 13 super(new Identifier(""), 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F); 14 } 15 16 @Override 17 public void render(TextureManager textureManager, boolean bl, float f, float g, BufferBuilder bufferBuilder, float h, float i, float j, float k) { 18 } 19 20 @Nullable 21 @Override 22 public Identifier getTextureLocation() { 23 return null; 24 } 25 } 26 net/minecraft/server/entity/living/player/ServerPlayerEntity.java --- Java 511 511 512 if (entity instanceof AbstractArrowEntity) { 512 if (entity instanceof AbstractArrowEntity) { 513 AbstractArrowEntity abstractArrowEntity = (AbstractA 513 AbstractArrowEntity abstractArrowEntity = (AbstractA ... rrowEntity)entity; ... rrowEntity)entity; ... 514 Entity entity2 = abstractArrowEntity.getEntity(); 514 if (abstractArrowEntity.shooter instanceof PlayerEnt 515 if (entity2 instanceof PlayerEntity && !this.canAtta ... ity && !this.canAttack((PlayerEntity)abstractArrowEntity.shooter)) { ... ck((PlayerEntity)entity2)) { 515 return false; 516 return false; 516 } 517 } 517 } 518 } net/minecraft/client/render/font/MissingGlyph.java --- 1/2 --- Java 14 for (int i = 0; i < 8; i++) { 14 for (int i = 0; i < 8; i++) { 15 for (int j = 0; j < 5; j++) { 15 for (int j = 0; j < 5; j++) { 16 boolean bl = j == 0 || j + 1 == 5 || i == 0 || i + 1 == 8; 16 boolean bl = j == 0 || j + 1 == 5 || i == 0 || i + 1 == 8; 17 nativeImage.setPixelRGBA(j, i, bl ? -1 : -16777216); 17 nativeImage.setPixelRGBA(j, i, bl ? -1 : 0); 18 } 18 } 19 } 19 } 20 20 net/minecraft/client/render/font/MissingGlyph.java --- 2/2 --- Java 32 } 32 } 33 33 34 @Override 34 @Override 35 public float m_7423871() { 35 public float getAdvance() { 36 return 6.0F; 36 return 6.0F; 37 } 37 } 38 38 net/minecraft/world/chunk/ChunkSource.java --- Java 1 package net.minecraft.world.chunk; 1 package net.minecraft.world.chunk; 2 2 . 3 import java.util.function.BooleanSupplier; 3 import javax.annotation.Nullable; 4 import javax.annotation.Nullable; 4 5 5 public interface ChunkSource extends AutoCloseable { 6 public interface ChunkSource extends AutoCloseable { 6 @Nullable 7 @Nullable 7 WorldChunk getLoadedChunk(int i, int j); 8 WorldChunk getChunk(int i, int j, boolean bl, boolean bl2); 8 9 9 WorldChunk getChunk(int i, int j); 10 @Nullable 10 .. 11 ChunkAccess getChunkForWorldGen(int i, int j); 11 default ChunkAccess getChunkForWorldGen(int i, int j, boolean bl) { .. 12 WorldChunk worldChunk = this.getChunk(i, j, true, false); .. 13 if (worldChunk == null && bl) { .. 14 throw new UnsupportedOperationException("Could not create an e .. .. mpty chunk"); .. 15 } else { .. 16 return worldChunk; .. 17 } .. 18 } 12 19 13 boolean tick(); 20 boolean tick(BooleanSupplier booleanSupplier); 14 21 15 String getDebugInfo(); 22 String getDebugInfo(); 16 23 17 ChunkGenerator<?> getGenerator(); 24 ChunkGenerator<?> getGenerator(); 18 .. 19 boolean doesChunkExist(int i, int j); .. 20 25 21 @Override 26 @Override 22 default void close() { 27 default void close() { net/minecraft/server/command/BossbarCommand.java --- Java 345 } else { 345 } else { 346 if (customBossEvent.getPlayers().isEmpty()) { 346 if (customBossEvent.getPlayers().isEmpty()) { 347 commandSourceStack.sendSuccess(new TranslatableText("comma 347 commandSourceStack.sendSuccess(new TranslatableText("comma ... nds.bossbar.set.players.success.none", customBossEvent.getDisplayName( ... nds.bossbar.set.players.success.none", customBossEvent.getDisplayName( ... )), true); ... )), true); 348 } else if (customBossEvent.getPlayers().isEmpty()) { 348 } else { 349 commandSourceStack.sendSuccess( 349 commandSourceStack.sendSuccess( 350 new TranslatableText( 350 new TranslatableText( 351 "commands.bossbar.set.players.success.some", 351 "commands.bossbar.set.players.success.some", net/minecraft/server/command/handler/CommandManager.java --- 1/3 --- Java 5 import com.google.gson.GsonBuilder; 5 import com.google.gson.GsonBuilder; 6 import com.google.gson.JsonElement; 6 import com.google.gson.JsonElement; 7 import com.mojang.brigadier.CommandDispatcher; 7 import com.mojang.brigadier.CommandDispatcher; . 8 import com.mojang.brigadier.StringReader; 8 import com.mojang.brigadier.arguments.ArgumentType; 9 import com.mojang.brigadier.arguments.ArgumentType; 9 import com.mojang.brigadier.builder.ArgumentBuilder; 10 import com.mojang.brigadier.builder.ArgumentBuilder; 10 import com.mojang.brigadier.builder.LiteralArgumentBuilder; 11 import com.mojang.brigadier.builder.LiteralArgumentBuilder; net/minecraft/server/command/handler/CommandManager.java --- 2/3 --- Java 193 } 194 } 194 195 195 public int run(CommandSourceStack commandSourceStack, String string 196 public int run(CommandSourceStack commandSourceStack, String string ... ) { ... ) { 196 String string2 = string; 197 StringReader stringReader = new StringReader(string); 197 if (string.startsWith("/")) { 198 if (stringReader.canRead() && stringReader.peek() == '/') { 198 string = string.substring(1); 199 stringReader.skip(); 199 } 200 } 200 201 201 commandSourceStack.getServer().profiler.push(string); 202 commandSourceStack.getServer().profiler.push(string); 202 203 203 byte var20; 204 byte var20; 204 try { 205 try { 205 return this.dispatcher.execute(string, commandSourceStack); 206 return this.dispatcher.execute(stringReader, commandSourceSta ... ... ck); 206 } catch (CommandRuntimeException var13) { 207 } catch (CommandRuntimeException var13) { 207 commandSourceStack.sendFailure(var13.getMessage()); 208 commandSourceStack.sendFailure(var13.getMessage()); 208 return 0; 209 return 0; net/minecraft/server/command/handler/CommandManager.java --- 3/3 --- Java 212 int i = Math.min(var14.getInput().length(), var14.getCurso 213 int i = Math.min(var14.getInput().length(), var14.getCurso ... r()); ... r()); 213 Text text = new LiteralText("") 214 Text text = new LiteralText("") 214 .setFormatting(Formatting.GRAY) 215 .setFormatting(Formatting.GRAY) 215 .withStyle(style -> style.setClickEvent(new ClickEvent( 216 .withStyle(style -> style.setClickEvent(new ClickEvent( ... ClickEvent.Action.SUGGEST_COMMAND, string2))); ... ClickEvent.Action.SUGGEST_COMMAND, string))); 216 if (i > 10) { 217 if (i > 10) { 217 text.append("..."); 218 text.append("..."); 218 } 219 } net/minecraft/client/FontManager.java --- Java 101 101 102 @Nullable 102 @Nullable 103 public TextRenderer getFont(Identifier identifier) { 103 public TextRenderer getFont(Identifier identifier) { 104 return this.fonts.get(identifier); 104 return this.fonts.computeIfAbsent(identifier, identifierx -> { ... 105 TextRenderer textRenderer = new TextRenderer(this.textureMana ... ... ger, new FontSet(this.textureManager, identifierx)); ... 106 textRenderer.reload(Lists.newArrayList(new C_5752173())); ... 107 return textRenderer; ... 108 }); 105 } 109 } 106 110 107 public void setForceUnicode(boolean bl) { 111 public void setForceUnicode(boolean bl) { net/minecraft/server/dedicated/DedicatedServer.java --- 1/6 --- Java 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; 4 import com.google.gson.JsonObject; 4 import com.google.gson.JsonObject; 5 import com.google.gson.JsonParser; . 6 import com.mojang.authlib.GameProfileRepository; 5 import com.mojang.authlib.GameProfileRepository; 7 import com.mojang.authlib.minecraft.MinecraftSessionService; 6 import com.mojang.authlib.minecraft.MinecraftSessionService; 8 import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; 7 import com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService; net/minecraft/server/dedicated/DedicatedServer.java --- 2/6 --- Java 19 import java.util.Locale; 18 import java.util.Locale; 20 import java.util.Random; 19 import java.util.Random; 21 import java.util.concurrent.TimeUnit; 20 import java.util.concurrent.TimeUnit; .. 21 import java.util.function.BooleanSupplier; 22 import java.util.regex.Pattern; 22 import java.util.regex.Pattern; 23 import net.minecraft.block.entity.SkullBlockEntity; 23 import net.minecraft.block.entity.SkullBlockEntity; 24 import net.minecraft.entity.living.player.PlayerEntity; 24 import net.minecraft.entity.living.player.PlayerEntity; net/minecraft/server/dedicated/DedicatedServer.java --- 3/6 --- Java 38 import net.minecraft.snooper.Snooper; 38 import net.minecraft.snooper.Snooper; 39 import net.minecraft.unmapped.C_2934522; 39 import net.minecraft.unmapped.C_2934522; 40 import net.minecraft.util.DefaultedList; 40 import net.minecraft.util.DefaultedList; .. 41 import net.minecraft.util.JsonUtils; 41 import net.minecraft.util.Utils; 42 import net.minecraft.util.Utils; 42 import net.minecraft.util.crash.CrashReport; 43 import net.minecraft.util.crash.CrashReport; 43 import net.minecraft.util.logging.UncaughtExceptionLogger; 44 import net.minecraft.util.logging.UncaughtExceptionLogger; net/minecraft/server/dedicated/DedicatedServer.java --- 4/6 --- Java 121 thread.setDaemon(true); 122 thread.setDaemon(true); 122 thread.setUncaughtExceptionHandler(new UncaughtExceptionLogger(L 123 thread.setUncaughtExceptionHandler(new UncaughtExceptionLogger(L ... OGGER)); ... OGGER)); 123 thread.start(); 124 thread.start(); 124 LOGGER.info("Starting minecraft server version 1.13"); 125 LOGGER.info("Starting minecraft server version 18w30a"); 125 if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) { 126 if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L) { 126 LOGGER.warn("To start the server with more ram, launch it as 127 LOGGER.warn("To start the server with more ram, launch it as ... \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); ... \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\""); 127 } 128 } net/minecraft/server/dedicated/DedicatedServer.java --- 5/6 --- Java 241 if (worldGeneratorType == WorldGeneratorType.FLAT) { 242 if (worldGeneratorType == WorldGeneratorType.FLAT) { 242 jsonObject.addProperty("flat_world_options", string3); 243 jsonObject.addProperty("flat_world_options", string3); 243 } else if (!string3.isEmpty()) { 244 } else if (!string3.isEmpty()) { 244 jsonObject = new JsonParser().parse(string3).getAsJsonO 245 jsonObject = JsonUtils.getJsonObject(string3); ... bject(); ... 245 } 246 } 246 247 247 this.loadWorld(this.getWorldSaveName(), this.getWorldSaveN 248 this.loadWorld(this.getWorldSaveName(), this.getWorldSaveN ame(), m, worldGeneratorType, jsonObject); ame(), m, worldGeneratorType, jsonObject); net/minecraft/server/dedicated/DedicatedServer.java --- 6/6 --- Java 346 } 347 } 347 348 348 @Override 349 @Override 349 protected void tickWorlds() { 350 protected void tickWorlds(BooleanSupplier booleanSupplier) { 350 super.tickWorlds(); 351 super.tickWorlds(booleanSupplier); 351 this.runPendingCommands(); 352 this.runPendingCommands(); 352 } 353 } 353 354 net/minecraft/client/render/font/BakedGlyph.java --- 1/4 --- Java 1 package net.minecraft.client.render.font; 1 package net.minecraft.client.render.font; 2 2 3 import com.mojang.blaze3d.font.GlyphInfo; . 4 import com.mojang.blaze3d.vertex.BufferBuilder; 3 import com.mojang.blaze3d.vertex.BufferBuilder; . 4 import javax.annotation.Nullable; 5 import net.fabricmc.api.EnvType; 5 import net.fabricmc.api.EnvType; 6 import net.fabricmc.api.Environment; 6 import net.fabricmc.api.Environment; 7 import net.minecraft.client.render.texture.TextureManager; 7 import net.minecraft.client.render.texture.TextureManager; 8 import net.minecraft.resource.Identifier; 8 import net.minecraft.resource.Identifier; 9 9 10 @Environment(EnvType.CLIENT) 10 @Environment(EnvType.CLIENT) 11 public class BakedGlyph implements GlyphInfo { 11 public class BakedGlyph { 12 private final Identifier location; 12 private final Identifier location; 13 private final float uMin; 13 private final float uMin; 14 private final float uMax; 14 private final float uMax; net/minecraft/client/render/font/BakedGlyph.java --- 2/4 --- Java 18 private final float right; 18 private final float right; 19 private final float up; 19 private final float up; 20 private final float down; 20 private final float down; 21 private final float f_9199125; .. 22 private final float f_4521128; .. 23 private final float f_9409841; .. 24 21 25 public BakedGlyph(Identifier identifier, float f, float g, float h, 22 public BakedGlyph(Identifier identifier, float f, float g, float h, .. float i, float j, float k, float l, float m, float n, float o, float p) .. float i, float j, float k, float l, float m) { .. { .. 26 this.location = identifier; 23 this.location = identifier; 27 this.uMin = f; 24 this.uMin = f; 28 this.uMax = g; 25 this.uMax = g; net/minecraft/client/render/font/BakedGlyph.java --- 3/4 --- Java 32 this.right = k; 29 this.right = k; 33 this.up = l; 30 this.up = l; 34 this.down = m; 31 this.down = m; 35 this.f_9199125 = n; .. 36 this.f_4521128 = o; .. 37 this.f_9409841 = p; .. 38 } 32 } 39 33 40 @Override .. 41 public float m_8530833() { .. 42 return this.f_9199125; .. 43 } .. 44 .. 45 @Override .. 46 public float m_6194748() { .. 47 return this.f_4521128; .. 48 } .. 49 .. 50 @Override .. 51 public float m_0831354() { .. 52 return this.f_9409841; .. 53 } .. 54 .. 55 @Override .. 56 public void m_8715475(TextureManager textureManager, boolean bl, flo 34 public void render(TextureManager textureManager, boolean bl, float .. at f, float g, BufferBuilder bufferBuilder, float h, float i, float j, .. f, float g, BufferBuilder bufferBuilder, float h, float i, float j, flo .. float k) { .. at k) { 57 int l = 3; 35 int l = 3; 58 float m = f + this.left; 36 float m = f + this.left; 59 float n = f + this.right; 37 float n = f + this.right; net/minecraft/client/render/font/BakedGlyph.java --- 4/4 --- Java 69 bufferBuilder.vertex((double)(n + s), (double)q, 0.0).texture((do 47 bufferBuilder.vertex((double)(n + s), (double)q, 0.0).texture((do .. uble)this.uMax, (double)this.vMin).color(h, i, j, k).nextVertex(); .. uble)this.uMax, (double)this.vMin).color(h, i, j, k).nextVertex(); 70 } 48 } 71 49 72 @Override 50 @Nullable 73 public Identifier m_6048751() { 51 public Identifier getTextureLocation() { 74 return this.location; 52 return this.location; 75 } 53 } 76 } 54 } net/minecraft/server/entity/EntityTrackerEntry.java --- Java 454 Entity entity = ((FishingBobberEntity)this.currentTrackedEnti 454 Entity entity = ((FishingBobberEntity)this.currentTrackedEnti ... ty).getOwner(); ... ty).getOwner(); 455 return new AddEntityS2CPacket(this.currentTrackedEntity, 90, 455 return new AddEntityS2CPacket(this.currentTrackedEntity, 90, ... entity == null ? this.currentTrackedEntity.getNetworkId() : entity.get ... entity == null ? this.currentTrackedEntity.getNetworkId() : entity.get ... NetworkId()); ... NetworkId()); 456 } else if (this.currentTrackedEntity instanceof SpectralArrowEnt 456 } else if (this.currentTrackedEntity instanceof SpectralArrowEnt ... ity) { ... ity) { 457 Entity entity = ((SpectralArrowEntity)this.currentTrackedEnti 457 Entity entity = ((SpectralArrowEntity)this.currentTrackedEnti ... ty).shooter; ... ty).getEntity(); 458 return new AddEntityS2CPacket(this.currentTrackedEntity, 91, 458 return new AddEntityS2CPacket(this.currentTrackedEntity, 91, ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... y.getNetworkId())); ... y.getNetworkId())); 459 } else if (this.currentTrackedEntity instanceof ArrowEntity) { 459 } else if (this.currentTrackedEntity instanceof ArrowEntity) { 460 Entity entity = ((AbstractArrowEntity)this.currentTrackedEnti 460 Entity entity = ((AbstractArrowEntity)this.currentTrackedEnti ... ty).shooter; ... ty).getEntity(); 461 return new AddEntityS2CPacket(this.currentTrackedEntity, 60, 461 return new AddEntityS2CPacket(this.currentTrackedEntity, 60, ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... y.getNetworkId())); ... y.getNetworkId())); 462 } else if (this.currentTrackedEntity instanceof SnowballEntity) 462 } else if (this.currentTrackedEntity instanceof SnowballEntity) ... { ... { 463 return new AddEntityS2CPacket(this.currentTrackedEntity, 61); 463 return new AddEntityS2CPacket(this.currentTrackedEntity, 61); 464 } else if (this.currentTrackedEntity instanceof TridentEntity) { 464 } else if (this.currentTrackedEntity instanceof TridentEntity) { 465 Entity entity = ((AbstractArrowEntity)this.currentTrackedEnti 465 Entity entity = ((AbstractArrowEntity)this.currentTrackedEnti ... ty).shooter; ... ty).getEntity(); 466 return new AddEntityS2CPacket(this.currentTrackedEntity, 94, 466 return new AddEntityS2CPacket(this.currentTrackedEntity, 94, ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... 1 + (entity == null ? this.currentTrackedEntity.getNetworkId() : entit ... y.getNetworkId())); ... y.getNetworkId())); 467 } else if (this.currentTrackedEntity instanceof LlamaSpitEntity) 467 } else if (this.currentTrackedEntity instanceof LlamaSpitEntity) ... { ... { 468 return new AddEntityS2CPacket(this.currentTrackedEntity, 68); 468 return new AddEntityS2CPacket(this.currentTrackedEntity, 68); net/minecraft/client/options/ServerListEntry.java --- Java 13 public String onlinePlayers; 13 public String onlinePlayers; 14 public String description; 14 public String description; 15 public long ping; 15 public long ping; 16 public int protocol = 393; 16 public int protocol = 394; 17 public String version = "1.13"; 17 public String version = "18w30a"; 18 public boolean isLoaded; 18 public boolean isLoaded; 19 public String playerListString; 19 public String playerListString; 20 private ServerListEntry.ResourcePackStatus resourcePackStatus = Serv 20 private ServerListEntry.ResourcePackStatus resourcePackStatus = Serv erListEntry.ResourcePackStatus.PROMPT; erListEntry.ResourcePackStatus.PROMPT; net/minecraft/client/KeyboardHandler.java --- 1/2 --- Java 284 if (Screen.isControlDown()) { 284 if (Screen.isControlDown()) { 285 } 285 } 286 286 287 this.minecraft ... 288 .gui ... 289 .getChat() ... 290 .addMessage( ... 291 ScreenshotUtils.saveScreenshot( 287 ScreenshotUtils.saveScreenshot( 292 this.minecraft.runDir, this.minecraft.window.g 288 this.minecraft.runDir, ... etWidth(), this.minecraft.window.getHeight(), this.minecraft.getRender ... ... Target() ... ... 289 this.minecraft.window.getWidth(), ... 290 this.minecraft.window.getHeight(), ... 291 this.minecraft.getRenderTarget(), ... 292 text -> this.minecraft.submit(() -> this.minecraft.g ... ... ui.getChat().addMessage(text)) 293 ) 293 ); 294 ); ... 295 return; 294 return; 296 } 295 } 297 } 296 } net/minecraft/client/KeyboardHandler.java --- 2/2 --- Java 430 long m = 10000L - (l - this.debugCrashKeyTime); 429 long m = 10000L - (l - this.debugCrashKeyTime); 431 long n = l - this.debugCrashKeyReportedTime; 430 long n = l - this.debugCrashKeyReportedTime; 432 if (m < 0L) { 431 if (m < 0L) { ... 432 if (Screen.isControlDown()) { ... 433 MemoryUtil.memSet(0L, 0, 1L); ... 434 } ... 435 433 throw new CrashException(new CrashReport("Manually trigger 436 throw new CrashException(new CrashReport("Manually trigger ... ed debug crash", new Throwable())); ... ed debug crash", new Throwable())); 434 } 437 } net/minecraft/client/entity/particle/Particle.java --- 1/2 --- Java 8 import net.minecraft.block.shape.VoxelShapes; 8 import net.minecraft.block.shape.VoxelShapes; 9 import net.minecraft.client.render.texture.TextureAtlasSprite; 9 import net.minecraft.client.render.texture.TextureAtlasSprite; 10 import net.minecraft.entity.Entity; 10 import net.minecraft.entity.Entity; .. 11 import net.minecraft.unmapped.C_5953599; 11 import net.minecraft.util.math.BlockPos; 12 import net.minecraft.util.math.BlockPos; 12 import net.minecraft.util.math.Box; 13 import net.minecraft.util.math.Box; 13 import net.minecraft.util.math.Direction; 14 import net.minecraft.util.math.Direction; net/minecraft/client/entity/particle/Particle.java --- 2/2 --- Java 289 double h = e; 290 double h = e; 290 double i = f; 291 double i = f; 291 if (this.hasPhysics && (d != 0.0 || e != 0.0 || f != 0.0)) { 292 if (this.hasPhysics && (d != 0.0 || e != 0.0 || f != 0.0)) { 292 VoxelShape voxelShape = this.world.getCollisions(null, this.g 293 C_5953599<VoxelShape> c_5953599 = new C_5953599<>(this.world. ... etShape(), d, e, f); ... getCollisions(null, this.getShape(), d, e, f)); 293 e = VoxelShapes.m_8409842(Direction.Axis.Y, this.getShape(), 294 e = VoxelShapes.calculateMaxOffset(Direction.Axis.Y, this.get ... voxelShape, e); ... Shape(), c_5953599.m_6651471(), e); 294 this.setShape(this.getShape().move(0.0, e, 0.0)); 295 this.setShape(this.getShape().move(0.0, e, 0.0)); 295 d = VoxelShapes.m_8409842(Direction.Axis.X, this.getShape(), 296 d = VoxelShapes.calculateMaxOffset(Direction.Axis.X, this.get ... voxelShape, d); ... Shape(), c_5953599.m_6651471(), d); 296 if (d != 0.0) { 297 if (d != 0.0) { 297 this.setShape(this.getShape().move(d, 0.0, 0.0)); 298 this.setShape(this.getShape().move(d, 0.0, 0.0)); 298 } 299 } 299 300 300 f = VoxelShapes.m_8409842(Direction.Axis.Z, this.getShape(), 301 f = VoxelShapes.calculateMaxOffset(Direction.Axis.Z, this.get ... voxelShape, f); ... Shape(), c_5953599.m_6651471(), f); 301 if (f != 0.0) { 302 if (f != 0.0) { 302 this.setShape(this.getShape().move(0.0, 0.0, f)); 303 this.setShape(this.getShape().move(0.0, 0.0, f)); 303 } 304 } net/minecraft/client/render/GameRenderer.java --- 1/3 --- Java 47 import net.minecraft.inventory.Inventory; 47 import net.minecraft.inventory.Inventory; 48 import net.minecraft.item.ItemStack; 48 import net.minecraft.item.ItemStack; 49 import net.minecraft.resource.Identifier; 49 import net.minecraft.resource.Identifier; .. 50 import net.minecraft.resource.SimpleResource; 50 import net.minecraft.sound.SoundCategory; 51 import net.minecraft.sound.SoundCategory; 51 import net.minecraft.sound.SoundEvents; 52 import net.minecraft.sound.SoundEvents; 52 import net.minecraft.tag.FluidTags; 53 import net.minecraft.tag.FluidTags; net/minecraft/client/render/GameRenderer.java --- 2/3 --- Java 719 if (this.minecraft.worldRenderer.countRenderedChunks() > 10 720 if (this.minecraft.worldRenderer.countRenderedChunks() > 10 720 && this.minecraft.worldRenderer.hasRenderedAllChunks() 721 && this.minecraft.worldRenderer.hasRenderedAllChunks() 721 && !this.minecraft.getServer().hasIcon()) { 722 && !this.minecraft.getServer().hasIcon()) { 722 try ( ... 723 NativeImage nativeImage = ScreenshotUtils.m_5670753( 723 NativeImage nativeImage = ScreenshotUtils.m_5670753( 724 this.minecraft.window.getWidth(), this.minecraft.window 724 this.minecraft.window.getWidth(), this.minecraft.window.ge ... .getHeight(), this.minecraft.getRenderTarget() ... tHeight(), this.minecraft.getRenderTarget() 725 ); 725 ); 726 NativeImage nativeImage2 = new NativeImage(64, 64, false); 726 SimpleResource.RESOURCE_IO.execute(() -> { 727 ) { ... 728 int i = nativeImage.getWidth(); 727 int i = nativeImage.getWidth(); 729 int j = nativeImage.getHeight(); 728 int j = nativeImage.getHeight(); 730 int k = 0; 729 int k = 0; net/minecraft/client/render/GameRenderer.java --- 3/3 --- Java 737 j = i; 736 j = i; 738 } 737 } 739 738 ... 739 try (NativeImage nativeImage2 = new NativeImage(64, 64, fa ... ... lse)) { 740 nativeImage.m_1225052(k, l, i, j, nativeImage2); 740 nativeImage.m_1225052(k, l, i, j, nativeImage2); 741 nativeImage2.m_4128431(this.minecraft.getServer().getIcon( 741 nativeImage2.m_4128431(this.minecraft.getServer().getIc ... )); ... on()); 742 } catch (IOException var36) { 742 } catch (IOException var27) { 743 LOGGER.warn("Couldn't save auto screenshot", (Throwable)va 743 LOGGER.warn("Couldn't save auto screenshot", (Throwable ... r36); ... )var27); 744 } 744 } finally { ... 745 nativeImage.close(); ... 746 } ... 747 }); 745 } 748 } 746 } 749 } 747 750 net/minecraft/world/WorldView.java --- 1/5 --- Java 1 package net.minecraft.world; 1 package net.minecraft.world; 2 2 3 import java.util.Collections; 3 import java.util.Collections; 4 import java.util.List; 4 import java.util.Set; 5 import java.util.Set; 5 import java.util.stream.Stream; 6 import javax.annotation.Nullable; 6 import javax.annotation.Nullable; 7 import net.minecraft.block.shape.BitSetVoxelSet; 7 import net.minecraft.block.shape.BitSetVoxelSet; 8 import net.minecraft.block.shape.BooleanOp; 8 import net.minecraft.block.shape.BooleanOp; net/minecraft/world/WorldView.java --- 2/5 --- Java 93 93 94 boolean isUnobstructed(@Nullable Entity entity, VoxelShape voxelShap 94 boolean isUnobstructed(@Nullable Entity entity, VoxelShape voxelShap .. e); .. e); 95 .. 96 List<Entity> getEntities(@Nullable Entity entity, Box box); .. 97 95 98 int getDirectSignal(BlockPos blockPos, Direction direction); 96 int getDirectSignal(BlockPos blockPos, Direction direction); 99 97 net/minecraft/world/WorldView.java --- 3/5 --- Java 183 } 181 } 184 } 182 } 185 183 186 default VoxelShape getCollisions(@Nullable Entity entity, Box box, 184 default Stream<VoxelShape> getCollisions(@Nullable Entity entity, B ... double d, double e, double f) { ... ox box, double d, double e, double f) { 187 return this.getCollisions(entity, box, Collections.emptySet(), d 185 return this.getCollisions(entity, box, Collections.emptySet(), d ... , e, f); ... , e, f); 188 } 186 } 189 187 190 default VoxelShape getCollisions(@Nullable Entity entity, Box box, 188 default Stream<VoxelShape> getCollisions(@Nullable Entity entity, B ... Set<Entity> set, double d, double e, double f) { ... ox box, Set<Entity> set, double d, double e, double f) { 191 double g = 1.0E-7; 189 double g = 1.0E-7; 192 VoxelShape voxelShape = VoxelShapes.block(box); 190 VoxelShape voxelShape = VoxelShapes.block(box); 193 VoxelShape voxelShape2 = VoxelShapes.block(box.move(d > 0.0 ? -1 191 VoxelShape voxelShape2 = VoxelShapes.block(box.move(d > 0.0 ? -1 ... .0E-7 : 1.0E-7, e > 0.0 ? -1.0E-7 : 1.0E-7, f > 0.0 ? -1.0E-7 : 1.0E-7 ... .0E-7 : 1.0E-7, e > 0.0 ? -1.0E-7 : 1.0E-7, f > 0.0 ? -1.0E-7 : 1.0E-7 ... )); ... )); 194 VoxelShape voxelShape3 = VoxelShapes.joinUnoptimized(VoxelShapes 192 VoxelShape voxelShape3 = VoxelShapes.joinUnoptimized(VoxelShapes ... .block(box.grow(d, e, f).expand(1.0E-7)), voxelShape2, BooleanOp.ONLY_ ... .block(box.grow(d, e, f).expand(1.0E-7)), voxelShape2, BooleanOp.ONLY_ ... FIRST); ... FIRST); 195 return this.getCollisions(entity, voxelShape3, voxelShape, set, 193 return this.getCollisions(entity, voxelShape3, voxelShape, set, ... false); ... false); 196 } 194 } 197 195 198 default VoxelShape getCollisions(@Nullable Entity entity, Box box) 196 default Stream<VoxelShape> getCollisions(@Nullable Entity entity, B ... { ... ox box) { 199 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS 197 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS ... hapes.empty(), Collections.emptySet(), false); ... hapes.empty(), Collections.emptySet(), false); 200 } 198 } 201 199 202 default VoxelShape getCollisions(@Nullable Entity entity, VoxelShap 200 default Stream<VoxelShape> getCollisions(@Nullable Entity entity, V ... e voxelShape, VoxelShape voxelShape2, Set<Entity> set, boolean bl) { ... oxelShape voxelShape, VoxelShape voxelShape2, Set<Entity> set, boolean ... ... bl) { 203 boolean bl2 = entity != null && entity.isOutsideWorldBorder(); 201 boolean bl2 = entity != null && entity.isOutsideWorldBorder(); 204 boolean bl3 = entity != null && this.collidesWithBorder(entity); 202 boolean bl3 = entity != null && this.collidesWithBorder(entity); 205 if (entity != null && bl2 == bl3) { 203 if (entity != null && bl2 == bl3) { net/minecraft/world/WorldView.java --- 4/5 --- Java 208 206 209 VoxelShape voxelShape3 = this.getBlockCollisions(voxelShape, vox 207 VoxelShape voxelShape3 = this.getBlockCollisions(voxelShape, vox ... elShape2, bl, bl3); ... elShape2, bl, bl3); 210 if ((!bl || voxelShape3.isEmpty()) && entity != null) { 208 if ((!bl || voxelShape3.isEmpty()) && entity != null) { 211 return voxelShape.isEmpty() 209 return voxelShape.isEmpty() ? Stream.empty() : Stream.of(voxe ... ... lShape3); 212 ? VoxelShapes.empty() ... 213 : VoxelShapes.joinUnoptimized(voxelShape3, this.m_8800941( ... ... entity, voxelShape, bl, set), BooleanOp.OR); ... 214 } else { 210 } else { 215 return voxelShape3; 211 return Stream.of(voxelShape3); 216 } 212 } 217 } 213 } 218 ... 219 default VoxelShape m_8800941(@Nullable Entity entity, VoxelShape vo ... ... xelShape, boolean bl, Set<Entity> set) { ... 220 Box box = voxelShape.bounds(); ... 221 List<Entity> list = this.getEntities(entity, box.expand(0.25)); ... 222 VoxelShape voxelShape2 = VoxelShapes.empty(); ... 223 ... 224 for (int i = 0; i < list.size(); i++) { ... 225 Entity entity2 = list.get(i); ... 226 if (!set.contains(entity2) && !entity.hasSameVehicle(entity2) ... ... ) { ... 227 Box box2 = entity2.getCollisionShape(); ... 228 if (box2 != null && box2.intersects(box)) { ... 229 voxelShape2 = VoxelShapes.joinUnoptimized(voxelShape2, ... ... VoxelShapes.block(box2), BooleanOp.OR); ... 230 if (bl) { ... 231 break; ... 232 } ... 233 } ... 234 ... 235 box2 = entity.getCollisionAgainstShape(entity2); ... 236 if (box2 != null && box2.intersects(box)) { ... 237 voxelShape2 = VoxelShapes.joinUnoptimized(voxelShape2, ... ... VoxelShapes.block(box2), BooleanOp.OR); ... 238 if (bl) { ... 239 break; ... 240 } ... 241 } ... 242 } ... 243 } ... 244 ... 245 return voxelShape2; ... 246 } ... 247 214 248 default boolean collidesWithBorder(Entity entity) { 215 default boolean collidesWithBorder(Entity entity) { 249 WorldBorder worldBorder = this.getWorldBorder(); 216 WorldBorder worldBorder = this.getWorldBorder(); net/minecraft/world/WorldView.java --- 5/5 --- Java 267 } 234 } 268 235 269 default boolean hasNoCollisions(@Nullable Entity entity, Box box, S 236 default boolean hasNoCollisions(@Nullable Entity entity, Box box, S ... et<Entity> set) { ... et<Entity> set) { 270 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS 237 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS ... hapes.empty(), set, true).isEmpty(); ... hapes.empty(), set, true).allMatch(VoxelShape::isEmpty); 271 } 238 } 272 239 273 default boolean hasNoCollisions(@Nullable Entity entity, Box box) { 240 default boolean hasNoCollisions(@Nullable Entity entity, Box box) { 274 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS 241 return this.getCollisions(entity, VoxelShapes.block(box), VoxelS ... hapes.empty(), Collections.emptySet(), true).isEmpty(); ... hapes.empty(), Collections.emptySet(), true).allMatch(VoxelShape::isEm ... ... pty); 275 } 242 } 276 243 277 default boolean isWater(BlockPos blockPos) { 244 default boolean isWater(BlockPos blockPos) { net/minecraft/server/network/handler/ServerPlayNetworkHandler.java --- 1/2 --- Java 628 ItemStack itemStack = editBookC2SPacket.getBook(); 628 ItemStack itemStack = editBookC2SPacket.getBook(); 629 if (!itemStack.isEmpty()) { 629 if (!itemStack.isEmpty()) { 630 if (BookAndQuillItem.isValid(itemStack.getNbt())) { 630 if (BookAndQuillItem.isValid(itemStack.getNbt())) { 631 ItemStack itemStack2 = this.player.getMainHandStack(); 631 ItemStack itemStack2 = this.player.getHandStack(editBookC2 ... ... SPacket.getHand()); 632 if (!itemStack2.isEmpty()) { 632 if (!itemStack2.isEmpty()) { 633 if (itemStack.getItem() == Items.WRITABLE_BOOK && itemS 633 if (itemStack.getItem() == Items.WRITABLE_BOOK && itemS ... tack2.getItem() == Items.WRITABLE_BOOK) { ... tack2.getItem() == Items.WRITABLE_BOOK) { 634 if (editBookC2SPacket.getSign()) { 634 if (editBookC2SPacket.getSign()) { net/minecraft/server/network/handler/ServerPlayNetworkHandler.java --- 2/2 --- Java 645 } 645 } 646 646 647 itemStack3.addToNbt("pages", nbtList); 647 itemStack3.addToNbt("pages", nbtList); ... 648 EquipmentSlot equipmentSlot = editBookC2SPacket.g ... ... etHand() == InteractionHand.MAIN_HAND ? EquipmentSlot.MAIN_HAND : Equi ... ... pmentSlot.OFF_HAND; 648 this.player.setEquipmentStack(EquipmentSlot.MAIN_ 649 this.player.setEquipmentStack(equipmentSlot, item ... HAND, itemStack3); ... Stack3); 649 } else { 650 } else { 650 itemStack2.addToNbt("pages", itemStack.getNbt().g 651 itemStack2.addToNbt("pages", itemStack.getNbt().g ... etList("pages", 8)); ... etList("pages", 8)); 651 } 652 } net/minecraft/client/options/GameOptions.java --- Java 939 939 940 try { 940 try { 941 printWriter = new PrintWriter(new OutputStreamWriter(new File 941 printWriter = new PrintWriter(new OutputStreamWriter(new File ... OutputStream(this.file), StandardCharsets.UTF_8)); ... OutputStream(this.file), StandardCharsets.UTF_8)); 942 printWriter.println("version:1519"); 942 printWriter.println("version:1620"); 943 printWriter.println("invertYMouse:" + this.invertMouseY); 943 printWriter.println("invertYMouse:" + this.invertMouseY); 944 printWriter.println("mouseSensitivity:" + this.mouseSensitivi 944 printWriter.println("mouseSensitivity:" + this.mouseSensitivi ... ty); ... ty); 945 printWriter.println("fov:" + (this.fov - 70.0) / 40.0); 945 printWriter.println("fov:" + (this.fov - 70.0) / 40.0); net/minecraft/entity/Entity.java --- 1/4 --- Java 73 import net.minecraft.text.LiteralText; 73 import net.minecraft.text.LiteralText; 74 import net.minecraft.text.Text; 74 import net.minecraft.text.Text; 75 import net.minecraft.text.TranslatableText; 75 import net.minecraft.text.TranslatableText; .. 76 import net.minecraft.unmapped.C_5953599; 76 import net.minecraft.util.crash.CrashException; 77 import net.minecraft.util.crash.CrashException; 77 import net.minecraft.util.crash.CrashReport; 78 import net.minecraft.util.crash.CrashReport; 78 import net.minecraft.util.crash.CrashReportCategory; 79 import net.minecraft.util.crash.CrashReportCategory; net/minecraft/entity/Entity.java --- 2/4 --- Java 583 584 584 Box box = this.getShape(); 585 Box box = this.getShape(); 585 if (d != 0.0 || e != 0.0 || f != 0.0) { 586 if (d != 0.0 || e != 0.0 || f != 0.0) { 586 VoxelShape voxelShape = this.world.getCollisions(this, thi 587 C_5953599<VoxelShape> c_5953599 = new C_5953599<>(this.wor ... s.getShape(), d, e, f); ... ld.getCollisions(this, this.getShape(), d, e, f)); 587 if (e != 0.0) { 588 if (e != 0.0) { 588 e = VoxelShapes.m_8409842(Direction.Axis.Y, this.getSha 589 e = VoxelShapes.calculateMaxOffset(Direction.Axis.Y, th ... pe(), voxelShape, e); ... is.getShape(), c_5953599.m_6651471(), e); 589 this.setShape(this.getShape().move(0.0, e, 0.0)); 590 this.setShape(this.getShape().move(0.0, e, 0.0)); 590 } 591 } 591 592 592 if (d != 0.0) { 593 if (d != 0.0) { 593 d = VoxelShapes.m_8409842(Direction.Axis.X, this.getSha 594 d = VoxelShapes.calculateMaxOffset(Direction.Axis.X, th ... pe(), voxelShape, d); ... is.getShape(), c_5953599.m_6651471(), d); 594 if (d != 0.0) { 595 if (d != 0.0) { 595 this.setShape(this.getShape().move(d, 0.0, 0.0)); 596 this.setShape(this.getShape().move(d, 0.0, 0.0)); 596 } 597 } 597 } 598 } 598 599 599 if (f != 0.0) { 600 if (f != 0.0) { 600 f = VoxelShapes.m_8409842(Direction.Axis.Z, this.getSha 601 f = VoxelShapes.calculateMaxOffset(Direction.Axis.Z, th ... pe(), voxelShape, f); ... is.getShape(), c_5953599.m_6651471(), f); 601 if (f != 0.0) { 602 if (f != 0.0) { 602 this.setShape(this.getShape().move(0.0, 0.0, f)); 603 this.setShape(this.getShape().move(0.0, 0.0, f)); 603 } 604 } net/minecraft/entity/Entity.java --- 3/4 --- Java 615 e = (double)this.stepHeight; 616 e = (double)this.stepHeight; 616 f = o; 617 f = o; 617 if (m != 0.0 || e != 0.0 || o != 0.0) { 618 if (m != 0.0 || e != 0.0 || o != 0.0) { 618 VoxelShape voxelShape2 = this.world.getCollisions(this, 619 C_5953599<VoxelShape> c_59535992 = new C_5953599<>(this ... this.getShape(), m, e, o); ... .world.getCollisions(this, this.getShape(), m, e, o)); 619 Box box3 = this.getShape(); 620 Box box3 = this.getShape(); 620 Box box4 = box3.grow(m, 0.0, o); 621 Box box4 = box3.grow(m, 0.0, o); 621 double t = VoxelShapes.m_8409842(Direction.Axis.Y, box4 622 double t = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, e); ... s.Y, box4, c_59535992.m_6651471(), e); 622 if (t != 0.0) { 623 if (t != 0.0) { 623 box3 = box3.move(0.0, t, 0.0); 624 box3 = box3.move(0.0, t, 0.0); 624 } 625 } 625 626 626 double u = VoxelShapes.m_8409842(Direction.Axis.X, box3 627 double u = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, m); ... s.X, box3, c_59535992.m_6651471(), m); 627 if (u != 0.0) { 628 if (u != 0.0) { 628 box3 = box3.move(u, 0.0, 0.0); 629 box3 = box3.move(u, 0.0, 0.0); 629 } 630 } 630 631 631 double v = VoxelShapes.m_8409842(Direction.Axis.Z, box3 632 double v = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, o); ... s.Z, box3, c_59535992.m_6651471(), o); 632 if (v != 0.0) { 633 if (v != 0.0) { 633 box3 = box3.move(0.0, 0.0, v); 634 box3 = box3.move(0.0, 0.0, v); 634 } 635 } 635 636 636 Box box5 = this.getShape(); 637 Box box5 = this.getShape(); 637 double w = VoxelShapes.m_8409842(Direction.Axis.Y, box5 638 double w = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, e); ... s.Y, box5, c_59535992.m_6651471(), e); 638 if (w != 0.0) { 639 if (w != 0.0) { 639 box5 = box5.move(0.0, w, 0.0); 640 box5 = box5.move(0.0, w, 0.0); 640 } 641 } 641 642 642 double x = VoxelShapes.m_8409842(Direction.Axis.X, box5 643 double x = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, m); ... s.X, box5, c_59535992.m_6651471(), m); 643 if (x != 0.0) { 644 if (x != 0.0) { 644 box5 = box5.move(x, 0.0, 0.0); 645 box5 = box5.move(x, 0.0, 0.0); 645 } 646 } 646 647 647 double y = VoxelShapes.m_8409842(Direction.Axis.Z, box5 648 double y = VoxelShapes.calculateMaxOffset(Direction.Axi ... , voxelShape2, o); ... s.Z, box5, c_59535992.m_6651471(), o); 648 if (y != 0.0) { 649 if (y != 0.0) { 649 box5 = box5.move(0.0, 0.0, y); 650 box5 = box5.move(0.0, 0.0, y); 650 } 651 } net/minecraft/entity/Entity.java --- 4/4 --- Java 663 this.setShape(box5); 664 this.setShape(box5); 664 } 665 } 665 666 666 e = VoxelShapes.m_8409842(Direction.Axis.Y, this.getSha 667 e = VoxelShapes.calculateMaxOffset(Direction.Axis.Y, th ... pe(), voxelShape2, e); ... is.getShape(), c_59535992.m_6651471(), e); 667 if (e != 0.0) { 668 if (e != 0.0) { 668 this.setShape(this.getShape().move(0.0, e, 0.0)); 669 this.setShape(this.getShape().move(0.0, e, 0.0)); 669 } 670 } net/minecraft/block/shape/VoxelShape.java --- 1/2 --- Java 1 package net.minecraft.block.shape; 1 package net.minecraft.block.shape; 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; . 4 import com.google.common.math.DoubleMath; 4 import it.unimi.dsi.fastutil.doubles.DoubleList; 5 import it.unimi.dsi.fastutil.doubles.DoubleList; 5 import java.util.List; 6 import java.util.List; . 7 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 8 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.Environment; 9 import net.fabricmc.api.Environment; 8 import net.minecraft.util.math.AxisCycle; 10 import net.minecraft.util.math.AxisCycle; . 11 import net.minecraft.util.math.BlockPos; 9 import net.minecraft.util.math.Box; 12 import net.minecraft.util.math.Box; 10 import net.minecraft.util.math.Direction; 13 import net.minecraft.util.math.Direction; 11 import net.minecraft.util.math.MathHelper; 14 import net.minecraft.util.math.MathHelper; .. 15 import net.minecraft.util.math.Vec3d; .. 16 import net.minecraft.world.HitResult; 12 17 13 public abstract class VoxelShape { 18 public abstract class VoxelShape { 14 protected final VoxelSet voxels; 19 protected final VoxelSet voxels; net/minecraft/block/shape/VoxelShape.java --- 2/2 --- Java 130 return this.m_7115177(axis, this.voxels.getEndingAxisCoord(axis, 135 return this.m_7115177(axis, this.voxels.getEndingAxisCoord(axis, ... i, j)); ... i, j)); 131 } 136 } 132 137 133 public int getCoordIndex(Direction.Axis axis, double d) { 138 protected int getCoordIndex(Direction.Axis axis, double d) { 134 return MathHelper.binarySearch(0, this.voxels.size(axis) + 1, i 139 return MathHelper.binarySearch(0, this.voxels.size(axis) + 1, i ... -> d < this.m_7115177(axis, i)) - 1; ... -> d < this.m_7115177(axis, i)) - 1; 135 } 140 } 136 141 137 public boolean inBoundsAndContains(double d, double e, double f) { 142 protected boolean inBoundsAndContains(double d, double e, double f) ... ... { 138 return this.voxels 143 return this.voxels 139 .containsWithinBounds(this.getCoordIndex(Direction.Axis.X, d) 144 .containsWithinBounds(this.getCoordIndex(Direction.Axis.X, d) ... , this.getCoordIndex(Direction.Axis.Y, e), this.getCoordIndex(Directio ... , this.getCoordIndex(Direction.Axis.Y, e), this.getCoordIndex(Directio ... n.Axis.Z, f)); ... n.Axis.Z, f)); 140 } 145 } ... 146 ... 147 @Nullable ... 148 public HitResult raycast(Vec3d vec3d, Vec3d vec3d2, BlockPos blockP ... ... os) { ... 149 if (this.isEmpty()) { ... 150 return null; ... 151 } else { ... 152 Vec3d vec3d3 = vec3d2.subtract(vec3d); ... 153 if (vec3d3.squaredDistanceToOrigin() < 1.0E-7) { ... 154 return null; ... 155 } else { ... 156 Vec3d vec3d4 = vec3d.add(vec3d3.scale(0.001)); ... 157 Vec3d vec3d5 = vec3d.add(vec3d3.scale(0.001)).subtract((do ... ... uble)blockPos.getX(), (double)blockPos.getY(), (double)blockPos.getZ() ... ... ); ... 158 return this.inBoundsAndContains(vec3d5.x, vec3d5.y, vec3d5 ... ... .z) ... 159 ? new HitResult(vec3d4, Direction.getClosest(vec3d3.x, ... ... vec3d3.y, vec3d3.z), blockPos) ... 160 : Box.clip(this.getBoundingBoxes(), vec3d, vec3d2, bloc ... ... kPos); ... 161 } ... 162 } ... 163 } ... 164 ... 165 public VoxelShape getFaceShape(Direction direction) { ... 166 if (!this.isEmpty() && this != VoxelShapes.block()) { ... 167 Direction.Axis axis = direction.getAxis(); ... 168 Direction.AxisDirection axisDirection = direction.getAxisDire ... ... ction(); ... 169 DoubleList doubleList = this.getCoordinates(axis); ... 170 if (doubleList.size() == 2 ... 171 && DoubleMath.fuzzyEquals(doubleList.getDouble(0), 0.0, 1. ... ... 0E-7) ... 172 && DoubleMath.fuzzyEquals(doubleList.getDouble(1), 1.0, 1. ... ... 0E-7)) { ... 173 return this; ... 174 } else { ... 175 int i = this.getCoordIndex(axis, axisDirection == Directio ... ... n.AxisDirection.POSITIVE ? 0.9999999 : 1.0E-7); ... 176 return new SliceShape(this, axis, i); ... 177 } ... 178 } else { ... 179 return this; ... 180 } ... 181 } ... 182 ... 183 public double calculateMaxDistance(Direction.Axis axis, Box box, do ... ... uble d) { ... 184 return this.calculateMaxDistance(AxisCycle.of(axis, Direction.Ax ... ... is.X), box, d); ... 185 } ... 186 ... 187 protected double calculateMaxDistance(AxisCycle axisCycle, Box box, ... ... double d) { ... 188 if (this.isEmpty()) { ... 189 return d; ... 190 } else if (Math.abs(d) < 1.0E-7) { ... 191 return 0.0; ... 192 } else { ... 193 AxisCycle axisCycle2 = axisCycle.inverse(); ... 194 Direction.Axis axis = axisCycle2.cycle(Direction.Axis.X); ... 195 Direction.Axis axis2 = axisCycle2.cycle(Direction.Axis.Y); ... 196 Direction.Axis axis3 = axisCycle2.cycle(Direction.Axis.Z); ... 197 double e = box.max(axis); ... 198 double f = box.min(axis); ... 199 int i = this.getCoordIndex(axis, f + 1.0E-7); ... 200 int j = this.getCoordIndex(axis, e - 1.0E-7); ... 201 int k = Math.max(0, this.getCoordIndex(axis2, box.min(axis2) ... ... + 1.0E-7)); ... 202 int l = Math.min(this.voxels.size(axis2), this.getCoordIndex( ... ... axis2, box.max(axis2) - 1.0E-7) + 1); ... 203 int m = Math.max(0, this.getCoordIndex(axis3, box.min(axis3) ... ... + 1.0E-7)); ... 204 int n = Math.min(this.voxels.size(axis3), this.getCoordIndex( ... ... axis3, box.max(axis3) - 1.0E-7) + 1); ... 205 int o = this.voxels.size(axis); ... 206 if (d > 0.0) { ... 207 for (int p = j + 1; p < o; p++) { ... 208 for (int q = k; q < l; q++) { ... 209 for (int r = m; r < n; r++) { ... 210 if (this.voxels.containsWithinBounds(axisCycle2, ... ... p, q, r)) { ... 211 double g = this.get(axis, p) - e; ... 212 if (g >= -1.0E-7) { ... 213 d = Math.min(d, g); ... 214 } ... 215 ... 216 return d; ... 217 } ... 218 } ... 219 } ... 220 } ... 221 } else if (d < 0.0) { ... 222 for (int p = i - 1; p >= 0; p--) { ... 223 for (int q = k; q < l; q++) { ... 224 for (int rx = m; rx < n; rx++) { ... 225 if (this.voxels.containsWithinBounds(axisCycle2, ... ... p, q, rx)) { ... 226 double g = this.get(axis, p + 1) - f; ... 227 if (g <= 1.0E-7) { ... 228 d = Math.max(d, g); ... 229 } ... 230 ... 231 return d; ... 232 } ... 233 } ... 234 } ... 235 } ... 236 } ... 237 ... 238 return d; ... 239 } ... 240 } 141 241 142 @Override 242 @Override 143 public String toString() { 243 public String toString() { net/minecraft/client/Minecraft.java --- 1/3 --- Java 141 import net.minecraft.resource.pack.PackType; 141 import net.minecraft.resource.pack.PackType; 142 import net.minecraft.resource.pack.repository.DirectoryRepositorySourc 142 import net.minecraft.resource.pack.repository.DirectoryRepositorySourc ... e; ... e; 143 import net.minecraft.resource.pack.repository.PackRepository; 143 import net.minecraft.resource.pack.repository.PackRepository; ... 144 import net.minecraft.resource.pack.repository.UnopenedPack; 144 import net.minecraft.server.GameProfileCache; 145 import net.minecraft.server.GameProfileCache; 145 import net.minecraft.server.MinecraftServer; 146 import net.minecraft.server.MinecraftServer; 146 import net.minecraft.server.integrated.IntegratedServer; 147 import net.minecraft.server.integrated.IntegratedServer; net/minecraft/client/Minecraft.java --- 2/3 --- Java 592 } 593 } 593 594 594 public void reloadResources() { 595 public void reloadResources() { 595 List<Pack> list = Lists.newArrayList(); ... 596 this.f_5693734.reload(); 596 this.f_5693734.reload(); 597 this.f_5693734.getSelected().forEach(unopenedResourcePack -> lis 597 List<Pack> list = this.f_5693734.getSelected().stream().map(Unop ... t.add(unopenedResourcePack.build())); ... enedPack::build).collect(Collectors.toList()); 598 if (this.server != null) { 598 if (this.server != null) { 599 this.server.reloadResources(); 599 this.server.reloadResources(); 600 } 600 } 601 601 602 try { 602 try { 603 this.resourceManager.reload(list); 603 this.resourceManager.reload(list); 604 } catch (RuntimeException var3) { 604 } catch (RuntimeException var4) { 605 LOGGER.info("Caught error stitching, removing all assigned re 605 LOGGER.info("Caught error stitching, removing all assigned re ... sourcepacks", (Throwable)var3); ... sourcepacks", (Throwable)var4); 606 list.clear(); ... 607 this.f_5693734.select(Collections.emptyList()); 606 this.f_5693734.select(Collections.emptyList()); ... 607 List<Pack> list2 = this.f_5693734.getSelected().stream().map( ... ... UnopenedPack::build).collect(Collectors.toList()); 608 this.resourceManager.reload(list); 608 this.resourceManager.reload(list2); 609 this.options.resourcePacks.clear(); 609 this.options.resourcePacks.clear(); 610 this.options.incompatibleResourcePacks.clear(); 610 this.options.incompatibleResourcePacks.clear(); 611 this.options.save(); 611 this.options.save(); net/minecraft/client/Minecraft.java --- 3/3 --- Java 1176 this.tutorial.tick(); 1176 this.tutorial.tick(); 1177 1177 1178 try { 1178 try { 1179 this.world.tick(); 1179 this.world.tick(() -> true); 1180 } catch (Throwable var4) { 1180 } catch (Throwable var4) { 1181 CrashReport crashReport = CrashReport.of(var4, "Except 1181 CrashReport crashReport = CrashReport.of(var4, "Except .... ion in world tick"); .... ion in world tick"); 1182 if (this.world == null) { 1182 if (this.world == null) { net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 1/9 --- Java 5 import com.mojang.datafixers.DataFixer; 5 import com.mojang.datafixers.DataFixer; 6 import it.unimi.dsi.fastutil.longs.LongOpenHashSet; 6 import it.unimi.dsi.fastutil.longs.LongOpenHashSet; 7 import it.unimi.dsi.fastutil.longs.LongSet; 7 import it.unimi.dsi.fastutil.longs.LongSet; 8 import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap; . 9 import it.unimi.dsi.fastutil.objects.Object2ObjectMap; . 10 import it.unimi.dsi.fastutil.objects.Object2ObjectMaps; . 11 import it.unimi.dsi.fastutil.shorts.ShortList; 8 import it.unimi.dsi.fastutil.shorts.ShortList; 12 import java.io.DataInputStream; 9 import java.io.DataInputStream; 13 import java.io.DataOutputStream; 10 import java.io.DataOutputStream; 14 import java.io.File; 11 import java.io.File; 15 import java.io.IOException; 12 import java.io.IOException; 16 import java.util.BitSet; 13 import java.util.BitSet; .. 14 import java.util.Iterator; 17 import java.util.Map; 15 import java.util.Map; 18 import java.util.Map.Entry; 16 import java.util.Map.Entry; 19 import java.util.function.Consumer; 17 import java.util.function.Consumer; net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 2/9 --- Java 35 import net.minecraft.server.world.tick.ServerTickList; 33 import net.minecraft.server.world.tick.ServerTickList; 36 import net.minecraft.util.math.BlockPos; 34 import net.minecraft.util.math.BlockPos; 37 import net.minecraft.util.math.ChunkPos; 35 import net.minecraft.util.math.ChunkPos; 38 import net.minecraft.world.BlockView; .. 39 import net.minecraft.world.World; 36 import net.minecraft.world.World; 40 import net.minecraft.world.WorldAccess; 37 import net.minecraft.world.WorldAccess; 41 import net.minecraft.world.WorldView; 38 import net.minecraft.world.WorldView; net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 3/9 --- Java 65 62 66 public class AnvilChunkStorage implements ChunkStorage, ChunkIoCallback 63 public class AnvilChunkStorage implements ChunkStorage, ChunkIoCallback .. { .. { 67 private static final Logger LOGGER = LogManager.getLogger(); 64 private static final Logger LOGGER = LogManager.getLogger(); 68 private final Object2ObjectMap<ChunkPos, NbtCompound> chunkSaveQueue 65 private final Map<ChunkPos, NbtCompound> chunkSaveQueue = Maps.newHa .. = Object2ObjectMaps.synchronize(new Object2ObjectLinkedOpenHashMap<>() .. shMap(); .. ); .. 69 private final File dir; 66 private final File dir; 70 private final DataFixer dfu; 67 private final DataFixer dfu; 71 private LegacyStructureDataHandler legacyStructureData; 68 private LegacyStructureDataHandler legacyStructureData; net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 4/9 --- Java 77 } 74 } 78 75 79 @Nullable 76 @Nullable 80 private synchronized NbtCompound fixChunk(WorldAccess worldAccess, 77 private NbtCompound fixChunk(WorldAccess worldAccess, int i, int j) .. int i, int j) throws IOException { .. throws IOException { 81 NbtCompound nbtCompound = this.chunkSaveQueue.get(new ChunkPos(i .. .. , j)); .. 82 return nbtCompound != null ? nbtCompound : this.fixChunkNbt(worl 78 return this.fixChunkNbt(worldAccess.getDimension().getType(), wo .. dAccess.getDimension().getType(), worldAccess.getSavedDataStorage(), i .. rldAccess.getSavedDataStorage(), i, j); .. , j); .. 83 } 79 } 84 80 85 @Nullable 81 @Nullable 86 private NbtCompound fixChunkNbt(DimensionType dimensionType, @Nulla 82 private NbtCompound fixChunkNbt(DimensionType dimensionType, @Nulla .. ble SavedDataStorage savedDataStorage, int i, int j) throws IOExceptio .. ble SavedDataStorage savedDataStorage, int i, int j) throws IOExceptio .. n { .. n { .. 83 NbtCompound nbtCompound = this.chunkSaveQueue.get(new ChunkPos(i .. .. , j)); .. 84 if (nbtCompound != null) { .. 85 return nbtCompound; .. 86 } else { 87 DataInputStream dataInputStream = RegionIo.getChunkInputStream(t 87 DataInputStream dataInputStream = RegionIo.getChunkInputStrea .. his.dir, i, j); .. m(this.dir, i, j); 88 if (dataInputStream == null) { 88 if (dataInputStream == null) { 89 return null; 89 return null; 90 } else { 90 } else { 91 NbtCompound nbtCompound = NbtIo.read(dataInputStream); 91 NbtCompound nbtCompound2 = NbtIo.read(dataInputStream); 92 dataInputStream.close(); 92 dataInputStream.close(); 93 int k = nbtCompound.contains("DataVersion", 99) ? nbtCompound 93 int k = nbtCompound2.contains("DataVersion", 99) ? nbtComp .. .getInt("DataVersion") : -1; .. ound2.getInt("DataVersion") : -1; 94 if (k < 1493) { 94 if (k < 1493) { 95 nbtCompound = NbtUtils.fix(this.dfu, DataFixTypes.CHUNK, n 95 nbtCompound2 = NbtUtils.fix(this.dfu, DataFixTypes.CHUN .. btCompound, k, 1493); .. K, nbtCompound2, k, 1493); 96 if (nbtCompound.getCompound("Level").getBoolean("hasLegacy 96 if (nbtCompound2.getCompound("Level").getBoolean("hasLe .. StructureData")) { .. gacyStructureData")) { 97 if (this.legacyStructureData == null) { 97 if (this.legacyStructureData == null) { 98 this.legacyStructureData = LegacyStructureDataHandle 98 this.legacyStructureData = LegacyStructureDataHan .. r.m_8186642(dimensionType, savedDataStorage); .. dler.m_8186642(dimensionType, savedDataStorage); 99 } 99 } 100 100 101 nbtCompound = this.legacyStructureData.m_5331624(nbtCom 101 nbtCompound2 = this.legacyStructureData.m_5331624(nb ... pound); ... tCompound2); 102 } 102 } 103 } 103 } 104 104 105 nbtCompound = NbtUtils.fix(this.dfu, DataFixTypes.CHUNK, nbtC 105 nbtCompound2 = NbtUtils.fix(this.dfu, DataFixTypes.CHUNK, ... ompound, Math.max(1493, k)); ... nbtCompound2, Math.max(1493, k)); 106 if (k < 1519) { 106 if (k < 1620) { 107 nbtCompound.putInt("DataVersion", 1519); 107 nbtCompound2.putInt("DataVersion", 1620); 108 this.queueChunkSave(new ChunkPos(i, j), nbtCompound); 108 this.queueChunkSave(new ChunkPos(i, j), nbtCompound2); 109 } 109 } 110 110 111 return nbtCompound; 111 return nbtCompound2; 112 } 112 } ... 113 } 113 } 114 } 114 115 115 @Nullable 116 @Nullable 116 @Override 117 @Override 117 public synchronized WorldChunk loadChunk(WorldAccess worldAccess, i 118 public WorldChunk loadChunk(WorldAccess worldAccess, int i, int j, ... nt i, int j, Consumer<WorldChunk> consumer) throws IOException { ... Consumer<WorldChunk> consumer) throws IOException { 118 NbtCompound nbtCompound = this.fixChunk(worldAccess, i, j); 119 NbtCompound nbtCompound = this.fixChunk(worldAccess, i, j); 119 if (nbtCompound == null) { 120 if (nbtCompound == null) { 120 return null; 121 return null; net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 5/9 --- Java 131 132 132 @Nullable 133 @Nullable 133 @Override 134 @Override 134 public synchronized ProtoChunk loadProtoChunk(WorldAccess worldAcce 135 public ProtoChunk loadProtoChunk(WorldAccess worldAccess, int i, in ... ss, int i, int j, Consumer<ChunkAccess> consumer) throws IOException { ... t j, Consumer<ChunkAccess> consumer) throws IOException { 135 NbtCompound nbtCompound = this.fixChunk(worldAccess, i, j); 136 NbtCompound nbtCompound = this.fixChunk(worldAccess, i, j); 136 if (nbtCompound == null) { 137 if (nbtCompound == null) { 137 return null; 138 return null; net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 6/9 --- Java 145 } 146 } 146 } 147 } 147 ... 148 @Override ... 149 public synchronized boolean doesChunkExist(int i, int j) { ... 150 ChunkPos chunkPos = new ChunkPos(i, j); ... 151 NbtCompound nbtCompound = this.chunkSaveQueue.get(chunkPos); ... 152 return nbtCompound != null ? true : RegionIo.hasChunkData(this.d ... ... ir, i, j); ... 153 } ... 154 148 155 @Nullable 149 @Nullable 156 protected WorldChunk loadChunk(WorldAccess worldAccess, int i, int 150 protected WorldChunk loadChunk(WorldAccess worldAccess, int i, int j, NbtCompound nbtCompound) { j, NbtCompound nbtCompound) { net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 7/9 --- Java 206 } 200 } 207 201 208 @Override 202 @Override 209 public synchronized void saveChunk(World world, ChunkAccess chunkAc 203 public void saveChunk(World world, ChunkAccess chunkAccess) throws ... cess) throws IOException, SessionLockException { ... IOException, SessionLockException { 210 world.checkSessionLock(); 204 world.checkSessionLock(); 211 205 212 try { 206 try { 213 NbtCompound nbtCompound = new NbtCompound(); 207 NbtCompound nbtCompound = new NbtCompound(); 214 NbtCompound nbtCompound2 = new NbtCompound(); 208 NbtCompound nbtCompound2 = new NbtCompound(); 215 nbtCompound.putInt("DataVersion", 1519); 209 nbtCompound.putInt("DataVersion", 1620); 216 ChunkPos chunkPos = chunkAccess.getPos(); 210 ChunkPos chunkPos = chunkAccess.getPos(); 217 nbtCompound.put("Level", nbtCompound2); 211 nbtCompound.put("Level", nbtCompound2); 218 if (chunkAccess.getStatus().getChunkType() == ChunkStatus.Chu 212 if (chunkAccess.getStatus().getChunkType() == ChunkStatus.Chu nkType.WORLD_CHUNK) { nkType.WORLD_CHUNK) { net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 8/9 --- Java 232 } 226 } 233 } 227 } 234 228 235 protected synchronized void queueChunkSave(ChunkPos chunkPos, NbtCo 229 protected void queueChunkSave(ChunkPos chunkPos, NbtCompound nbtCom ... mpound nbtCompound) { ... pound) { 236 this.chunkSaveQueue.put(chunkPos, nbtCompound); 230 this.chunkSaveQueue.put(chunkPos, nbtCompound); 237 ChunkIo.getInstance().registerCallback(this); 231 ChunkIo.getInstance().registerCallback(this); 238 } 232 } 239 233 240 @Override 234 @Override 241 public synchronized boolean run() { 235 public boolean run() { ... 236 Iterator<Entry<ChunkPos, NbtCompound>> iterator = this.chunkSave ... ... Queue.entrySet().iterator(); 242 if (this.chunkSaveQueue.isEmpty()) { 237 if (!iterator.hasNext()) { 243 if (this.saving) { 238 if (this.saving) { 244 LOGGER.info("ThreadedAnvilChunkStorage ({}): All chunks ar 239 LOGGER.info("ThreadedAnvilChunkStorage ({}): All chunks ar ... e saved", this.dir.getName()); ... e saved", this.dir.getName()); 245 } 240 } 246 241 247 return false; 242 return false; 248 } else { 243 } else { 249 ChunkPos chunkPos = this.chunkSaveQueue.keySet().iterator().n 244 Entry<ChunkPos, NbtCompound> entry = iterator.next(); ... ext(); ... 250 ... 251 boolean exception; 245 iterator.remove(); 252 try { 246 ChunkPos chunkPos = entry.getKey(); 253 NbtCompound nbtCompound = this.chunkSaveQueue.get(chunkPos 247 NbtCompound nbtCompound = entry.getValue(); ... ); ... 254 if (nbtCompound != null) { 248 if (nbtCompound == null) { ... 249 return true; ... 250 } else { 255 try { 251 try { 256 this.saveChunk(chunkPos, nbtCompound); 252 DataOutputStream dataOutputStream = RegionIo.getChunkOu ... ... tputStream(this.dir, chunkPos.x, chunkPos.z); ... 253 NbtIo.write(nbtCompound, dataOutputStream); ... 254 dataOutputStream.close(); ... 255 if (this.legacyStructureData != null) { ... 256 this.legacyStructureData.m_6491501(chunkPos.toLong() ... ... ); ... 257 } 257 } catch (Exception var7) { 258 } catch (Exception var6) { 258 LOGGER.error("Failed to save chunk", (Throwable)var7 259 LOGGER.error("Failed to save chunk", (Throwable)var6); ... ); ... 259 } 260 } ... 261 ... 262 return true; 260 } 263 } 261 ... 262 exception = true; ... 263 } finally { ... 264 this.chunkSaveQueue.remove(chunkPos); ... 265 } ... 266 ... 267 return exception; ... 268 } 264 } 269 } 265 } 270 266 net/minecraft/world/chunk/storage/AnvilChunkStorage.java --- 9/9 --- Java 279 return ChunkStatus.ChunkType.PROTO_CHUNK; 275 return ChunkStatus.ChunkType.PROTO_CHUNK; 280 } 276 } 281 ... 282 private void saveChunk(ChunkPos chunkPos, NbtCompound nbtCompound) ... ... throws IOException { ... 283 DataOutputStream dataOutputStream = RegionIo.getChunkOutputStrea ... ... m(this.dir, chunkPos.x, chunkPos.z); ... 284 NbtIo.write(nbtCompound, dataOutputStream); ... 285 dataOutputStream.close(); ... 286 if (this.legacyStructureData != null) { ... 287 this.legacyStructureData.m_6491501(chunkPos.toLong()); ... 288 } ... 289 } ... 290 ... 291 @Override ... 292 public void saveEntities(BlockView blockView, WorldChunk worldChunk ... ... ) throws IOException { ... 293 } ... 294 ... 295 @Override ... 296 public void tick() { ... 297 } ... 298 277 299 @Override 278 @Override 300 public void save() { 279 public void save() { net/minecraft/client/render/world/WorldRenderer.java --- 1/5 --- Java 533 this.entityRenderDispatcher.setCameraPos(h, i, j); 533 this.entityRenderDispatcher.setCameraPos(h, i, j); 534 this.minecraft.gameRenderer.enableLightMap(); 534 this.minecraft.gameRenderer.enableLightMap(); 535 this.world.profiler.swap("global"); 535 this.world.profiler.swap("global"); 536 List<Entity> list = this.world.getEntities(); 536 this.entityCount = this.world.getEntityCount(); 537 this.entityCount = list.size(); ... 538 537 539 for (int k = 0; k < this.world.globalEntities.size(); k++) { 538 for (int k = 0; k < this.world.globalEntities.size(); k++) { 540 Entity entity3 = this.world.globalEntities.get(k); 539 Entity entity3 = this.world.globalEntities.get(k); net/minecraft/client/render/world/WorldRenderer.java --- 2/5 --- Java 545 } 544 } 546 545 547 this.world.profiler.swap("entities"); 546 this.world.profiler.swap("entities"); ... 547 List<Entity> list = Lists.newArrayList(); 548 List<Entity> list2 = Lists.newArrayList(); 548 List<Entity> list2 = Lists.newArrayList(); 549 List<Entity> list3 = Lists.newArrayList(); ... 550 549 551 try (BlockPos.PooledMutable pooledMutable = BlockPos.PooledMu 550 try (BlockPos.PooledMutable pooledMutable = BlockPos.PooledMu ... table.origin()) { ... table.origin()) { 552 for (WorldRenderer.RenderChunkInfo renderChunkInfo : this. 551 for (WorldRenderer.RenderChunkInfo renderChunkInfo : this. compiledChunks) { compiledChunks) { net/minecraft/client/render/world/WorldRenderer.java --- 3/5 --- Java 562 this.globalEntityCount++; 561 this.globalEntityCount++; 563 this.entityRenderDispatcher.render(entity4, 562 this.entityRenderDispatcher.render(entity4, ... f, false); ... f, false); 564 if (this.shouldRenderEntity(entity4, entity 563 if (this.shouldRenderEntity(entity4, entity ... 2, culler)) { ... 2, culler)) { 565 list2.add(entity4); 564 list.add(entity4); 566 } 565 } 567 566 568 if (this.entityRenderDispatcher.renderSecon 567 if (this.entityRenderDispatcher.renderSecon ... dPass(entity4)) { ... dPass(entity4)) { 569 list3.add(entity4); 568 list2.add(entity4); 570 } 569 } 571 } 570 } 572 } 571 } net/minecraft/client/render/world/WorldRenderer.java --- 4/5 --- Java 575 } 574 } 576 } 575 } 577 576 578 if (!list3.isEmpty()) { 577 if (!list2.isEmpty()) { 579 for (Entity entity5 : list3) { 578 for (Entity entity5 : list2) { 580 this.entityRenderDispatcher.renderSecondPass(entity5, f 579 this.entityRenderDispatcher.renderSecondPass(entity5, f ... ); ... ); 581 } 580 } 582 } 581 } 583 582 584 if (this.shouldRenderEntityOutlines() && (!list2.isEmpty() || 583 if (this.shouldRenderEntityOutlines() && (!list.isEmpty() || ... this.hasEntityOutlines)) { ... this.hasEntityOutlines)) { 585 this.world.profiler.swap("entityOutlines"); 584 this.world.profiler.swap("entityOutlines"); 586 this.entityOutlineRenderTarget.clear(); 585 this.entityOutlineRenderTarget.clear(); 587 this.hasEntityOutlines = !list2.isEmpty(); 586 this.hasEntityOutlines = !list.isEmpty(); 588 if (!list2.isEmpty()) { 587 if (!list.isEmpty()) { 589 GlStateManager.depthFunc(519); 588 GlStateManager.depthFunc(519); 590 GlStateManager.disableFog(); 589 GlStateManager.disableFog(); 591 this.entityOutlineRenderTarget.bindWrite(false); 590 this.entityOutlineRenderTarget.bindWrite(false); 592 Lighting.turnOff(); 591 Lighting.turnOff(); 593 this.entityRenderDispatcher.setSolidRender(true); 592 this.entityRenderDispatcher.setSolidRender(true); 594 593 595 for (int l = 0; l < list2.size(); l++) { 594 for (int l = 0; l < list.size(); l++) { 596 this.entityRenderDispatcher.render(list2.get(l), f, 595 this.entityRenderDispatcher.render(list.get(l), f, f ... false); ... alse); 597 } 596 } 598 597 599 this.entityRenderDispatcher.setSolidRender(false); 598 this.entityRenderDispatcher.setSolidRender(false); net/minecraft/client/render/world/WorldRenderer.java --- 5/5 --- Java 617 Lighting.turnOn(); 616 Lighting.turnOn(); 618 617 619 for (WorldRenderer.RenderChunkInfo renderChunkInfo2 : this.co 618 for (WorldRenderer.RenderChunkInfo renderChunkInfo2 : this.co ... mpiledChunks) { ... mpiledChunks) { 620 List<BlockEntity> list4 = renderChunkInfo2.chunk.getCompil 619 List<BlockEntity> list3 = renderChunkInfo2.chunk.getCompil ... edChunk().getBlockEntities(); ... edChunk().getBlockEntities(); 621 if (!list4.isEmpty()) { 620 if (!list3.isEmpty()) { 622 for (BlockEntity blockEntity : list4) { 621 for (BlockEntity blockEntity : list3) { 623 BlockEntityRenderDispatcher.INSTANCE.render(blockEnt 622 BlockEntityRenderDispatcher.INSTANCE.render(blockEnt ... ity, f, -1); ... ity, f, -1); 624 } 623 } 625 } 624 } net/minecraft/client/render/font/FontSet.java --- 1/4 --- Java 1 package net.minecraft.client.render.font; 1 package net.minecraft.client.render.font; 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; . 4 import com.google.common.collect.Sets; 4 import com.mojang.blaze3d.font.GlyphInfo; 5 import com.mojang.blaze3d.font.GlyphInfo; 5 import com.mojang.blaze3d.font.GlyphProvider; 6 import com.mojang.blaze3d.font.GlyphProvider; 6 import com.mojang.blaze3d.font.RawGlyph; 7 import com.mojang.blaze3d.font.RawGlyph; 7 import it.unimi.dsi.fastutil.chars.Char2ObjectMap; 8 import it.unimi.dsi.fastutil.chars.Char2ObjectMap; 8 import it.unimi.dsi.fastutil.chars.Char2ObjectOpenHashMap; 9 import it.unimi.dsi.fastutil.chars.Char2ObjectOpenHashMap; 9 import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap; 10 import it.unimi.dsi.fastutil.chars.CharArrayList; . 11 import it.unimi.dsi.fastutil.chars.CharList; 10 import it.unimi.dsi.fastutil.ints.Int2ObjectMap; 12 import it.unimi.dsi.fastutil.ints.Int2ObjectMap; .. 13 import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; 11 import java.util.List; 14 import java.util.List; 12 import javax.annotation.Nullable; 15 import java.util.Random; .. 16 import java.util.Set; 13 import net.fabricmc.api.EnvType; 17 import net.fabricmc.api.EnvType; 14 import net.fabricmc.api.Environment; 18 import net.fabricmc.api.Environment; 15 import net.minecraft.client.render.texture.TextureManager; 19 import net.minecraft.client.render.texture.TextureManager; 16 import net.minecraft.resource.Identifier; 20 import net.minecraft.resource.Identifier; 17 import net.minecraft.unmapped.C_3653861; .. 18 import net.minecraft.util.Utils; .. 19 import net.minecraft.util.math.MathHelper; 21 import net.minecraft.util.math.MathHelper; 20 import org.apache.logging.log4j.LogManager; 22 import org.apache.logging.log4j.LogManager; 21 import org.apache.logging.log4j.Logger; 23 import org.apache.logging.log4j.Logger; 22 24 23 @Environment(EnvType.CLIENT) 25 @Environment(EnvType.CLIENT) 24 public class FontSet implements AutoCloseable { 26 public class FontSet implements AutoCloseable { 25 private static final Logger LOGGER = LogManager.getLogger(); 27 private static final Logger LOGGER = LogManager.getLogger(); .. 28 private static final EmptyGlyph SPACE_GLYPH = new EmptyGlyph(); .. 29 private static final GlyphInfo SPACE_INFO = () -> 4.0F; .. 30 private static final Random RANDOM = new Random(); 26 private final TextureManager textureManager; 31 private final TextureManager textureManager; 27 private final Identifier key; 32 private final Identifier key; 28 private BakedGlyph missingGlyph; 33 private BakedGlyph missingGlyph; 29 private final List<GlyphProvider> providers = Lists.newArrayList(); 34 private final List<GlyphProvider> providers = Lists.newArrayList(); .. 35 private final Char2ObjectMap<BakedGlyph> glyphs = new Char2ObjectOpe .. .. nHashMap<>(); 30 private final Char2ObjectMap<GlyphInfo> glyphInfos = new Char2Object 36 private final Char2ObjectMap<GlyphInfo> glyphInfos = new Char2Object .. OpenHashMap<>(); .. OpenHashMap<>(); 31 private final Int2ObjectMap<List<GlyphInfo>> glyphsByWidth = new Int 37 private final Int2ObjectMap<CharList> glyphsByWidth = new Int2Object .. 2ObjectArrayMap<>(); .. OpenHashMap<>(); 32 private final List<FontTexture> textures = Lists.newArrayList(); 38 private final List<FontTexture> textures = Lists.newArrayList(); 33 39 34 public FontSet(TextureManager textureManager, Identifier identifier) 40 public FontSet(TextureManager textureManager, Identifier identifier) { { net/minecraft/client/render/font/FontSet.java --- 2/4 --- Java 44 this.providers.clear(); 50 this.providers.clear(); 45 this.closeTextures(); 51 this.closeTextures(); 46 this.textures.clear(); 52 this.textures.clear(); .. 53 this.glyphs.clear(); 47 this.glyphInfos.clear(); 54 this.glyphInfos.clear(); 48 this.glyphsByWidth.clear(); 55 this.glyphsByWidth.clear(); 49 this.missingGlyph = this.stitch(MissingGlyph.INSTANCE); 56 this.missingGlyph = this.stitch(MissingGlyph.INSTANCE); .. 57 Set<GlyphProvider> set = Sets.newHashSet(); .. 58 .. 59 for (char c = 0; c < '\uffff'; c++) { .. 60 for (GlyphProvider glyphProvider2 : list) { .. 61 GlyphInfo glyphInfo = (GlyphInfo)(c == ' ' ? SPACE_INFO : g .. .. lyphProvider2.getGlyph(c)); .. 62 if (glyphInfo != null) { .. 63 set.add(glyphProvider2); .. 64 if (glyphInfo != MissingGlyph.INSTANCE) { .. 65 this.glyphsByWidth.computeIfAbsent(Integer.valueOf(Ma .. .. thHelper.ceil(glyphInfo.getAdvance(false))), integer -> new CharArrayLi .. .. st()).add(c); .. 66 } .. 67 break; .. 68 } .. 69 } .. 70 } .. 71 50 this.providers.addAll(list); 72 list.stream().filter(set::contains).forEach(this.providers::add); 51 } 73 } 52 74 53 @Override 75 @Override net/minecraft/client/render/font/FontSet.java --- 3/4 --- Java 62 } 84 } 63 85 64 public GlyphInfo getGlyphInfo(char c) { 86 public GlyphInfo getGlyphInfo(char c) { 65 GlyphInfo glyphInfo = this.glyphInfos.get(c); .. 66 if (glyphInfo == null) { .. 67 glyphInfo = this.getRawGlyph(c); .. 68 this.glyphInfos.put(c, glyphInfo); 87 return this.glyphInfos.computeIfAbsent(Character.valueOf(c), char .. .. acter -> (GlyphInfo)(character == ' ' ? SPACE_INFO : this.getRawGlyph(c .. .. haracter))); 69 List<GlyphInfo> list = this.glyphsByWidth.computeIfAbsent(Inte .. .. ger.valueOf(MathHelper.floor(glyphInfo.m_8530833())), integer -> Lists. .. .. newArrayList()); .. 70 list.add(glyphInfo); .. 71 } .. 72 .. 73 return glyphInfo; .. 74 } 88 } 75 89 76 private GlyphInfo getRawGlyph(char c) { 90 private RawGlyph getRawGlyph(char c) { 77 if (c == ' ') { .. 78 return new C_3653861(4); .. 79 } else { .. 80 for (GlyphProvider glyphProvider : this.providers) { 91 for (GlyphProvider glyphProvider : this.providers) { 81 RawGlyph rawGlyph = glyphProvider.getGlyph(c); 92 RawGlyph rawGlyph = glyphProvider.getGlyph(c); 82 if (rawGlyph != null) { 93 if (rawGlyph != null) { 83 GlyphInfo glyphInfo = this.stitch(rawGlyph); .. 84 if (glyphInfo != null) { .. 85 return glyphInfo; 94 return rawGlyph; 86 } .. 87 } 95 } 88 } 96 } 89 97 90 LOGGER.warn("Couldn't find glyph for character {} (\\u{})", c, .. .. String.format("%04x", Integer.valueOf(c))); .. 91 return this.missingGlyph; 98 return MissingGlyph.INSTANCE; 92 } .. 93 } 99 } 94 100 95 @Nullable 101 public BakedGlyph getGlyph(char c) { .. 102 return this.glyphs .. 103 .computeIfAbsent(Character.valueOf(c), character -> (BakedGlyp .. ... h)(character == ' ' ? SPACE_GLYPH : this.stitch(this.getRawGlyph(charac .. ... ter)))); .. 104 } .. 105 96 private BakedGlyph stitch(RawGlyph rawGlyph) { 106 private BakedGlyph stitch(RawGlyph rawGlyph) { 97 for (FontTexture fontTexture : this.textures) { 107 for (FontTexture fontTexture : this.textures) { net/minecraft/client/render/font/FontSet.java --- 4/4 --- Java 104 FontTexture fontTexture2 = new FontTexture(new Identifier(this.k 114 FontTexture fontTexture2 = new FontTexture(new Identifier(this.k ... ey.getNamespace(), this.key.getPath() + "/" + this.textures.size()), r ... ey.getNamespace(), this.key.getPath() + "/" + this.textures.size()), r ... awGlyph.isColored()); ... awGlyph.isColored()); 105 this.textures.add(fontTexture2); 115 this.textures.add(fontTexture2); 106 this.textureManager.register(fontTexture2.getKey(), fontTexture2 116 this.textureManager.register(fontTexture2.getKey(), fontTexture2 ... ); ... ); 107 return fontTexture2.add(rawGlyph); 117 BakedGlyph bakedGlyph2 = fontTexture2.add(rawGlyph); ... 118 return bakedGlyph2 == null ? this.missingGlyph : bakedGlyph2; 108 } 119 } 109 120 110 public GlyphInfo getRandomGlyph(GlyphInfo glyphInfo) { 121 public BakedGlyph getRandomGlyph(GlyphInfo glyphInfo) { 111 List<GlyphInfo> list = this.glyphsByWidth.get(MathHelper.floor(g 122 CharList charList = this.glyphsByWidth.get(MathHelper.ceil(glyph ... lyphInfo.m_8530833())); ... Info.getAdvance(false))); 112 if (list != null && !list.isEmpty()) { 123 return charList != null && !charList.isEmpty() ? this.getGlyph(c ... ... harList.get(RANDOM.nextInt(charList.size()))) : this.missingGlyph; 113 int i = (int)(Utils.getTimeMillis() % 100L) + glyphInfo.hashC ... ... ode(); ... 114 return list.get(i % list.size()); ... 115 } else { ... 116 return this.missingGlyph; ... 117 } ... 118 } 124 } 119 } 125 } net/minecraft/client/entity/living/player/LocalClientPlayerEntity.java --- 1/5 --- Java 1 package net.minecraft.client.entity.living.player; 1 package net.minecraft.client.entity.living.player; 2 2 3 import com.google.common.collect.Lists; 3 import com.google.common.collect.Lists; . 4 import java.util.Iterator; 4 import java.util.List; 5 import java.util.List; 5 import javax.annotation.Nullable; 6 import javax.annotation.Nullable; 6 import net.fabricmc.api.EnvType; 7 import net.fabricmc.api.EnvType; net/minecraft/client/entity/living/player/LocalClientPlayerEntity.java --- 2/5 --- Java 568 public void openEditBookScreen(ItemStack itemStack, InteractionHand 569 public void openEditBookScreen(ItemStack itemStack, InteractionHand ... interactionHand) { ... interactionHand) { 569 Item item = itemStack.getItem(); 570 Item item = itemStack.getItem(); 570 if (item == Items.WRITABLE_BOOK) { 571 if (item == Items.WRITABLE_BOOK) { 571 this.minecraft.openScreen(new BookEditScreen(this, itemStack, 572 this.minecraft.openScreen(new BookEditScreen(this, itemStack, ... true)); ... true, interactionHand)); 572 } 573 } 573 } 574 } 574 575 net/minecraft/client/entity/living/player/LocalClientPlayerEntity.java --- 3/5 --- Java 932 Vec3d vec3d11 = vec3d7.subtract(vec3d9); 933 Vec3d vec3d11 = vec3d7.subtract(vec3d9); 933 Vec3d vec3d12 = vec3d6.add(vec3d9); 934 Vec3d vec3d12 = vec3d6.add(vec3d9); 934 Vec3d vec3d13 = vec3d7.add(vec3d9); 935 Vec3d vec3d13 = vec3d7.add(vec3d9); 935 VoxelShape voxelShape = this.world.getCollisio 936 Iterator<Box> iterator = this.world.getCollisi ... ns(this, box); ... ons(this, box).flatMap(voxelShapex -> voxelShapex.getBoundingBoxes().s ... ... tream()).iterator(); 936 float s = Float.MIN_VALUE; 937 float s = Float.MIN_VALUE; 937 938 ... 939 while (iterator.hasNext()) { 938 for (Box box2 : voxelShape.getBoundingBoxes()) 940 Box box2 = iterator.next(); ... { ... 939 if (box2.insersects(vec3d10, vec3d11) || bo 941 if (box2.insersects(vec3d10, vec3d11) || bo ... x2.insersects(vec3d12, vec3d13)) { ... x2.insersects(vec3d12, vec3d13)) { 940 s = (float)box2.maxY; 942 s = (float)box2.maxY; 941 Vec3d vec3d14 = box2.center(); 943 Vec3d vec3d14 = box2.center(); net/minecraft/client/entity/living/player/LocalClientPlayerEntity.java --- 4/5 --- Java 944 for (int t = 1; (float)t < o; t++) { 946 for (int t = 1; (float)t < o; t++) { 945 BlockPos blockPos3 = blockPos2.up(t); 947 BlockPos blockPos3 = blockPos2.up(t); 946 BlockState blockState3 = this.world.g 948 BlockState blockState3 = this.world.g ... etBlockState(blockPos3); ... etBlockState(blockPos3); 947 VoxelShape voxelShape2; 949 VoxelShape voxelShape; 948 if (!(voxelShape2 = blockState3.getCo 950 if (!(voxelShape = blockState3.getCol ... llisionShape(this.world, blockPos3)).isEmpty()) { ... lisionShape(this.world, blockPos3)).isEmpty()) { 949 s = (float)voxelShape2.max(Directi 951 s = (float)voxelShape.max(Directio ... on.Axis.Y) + (float)blockPos3.getY(); ... n.Axis.Y) + (float)blockPos3.getY(); 950 if ((double)s - this.getShape().mi 952 if ((double)s - this.getShape().mi ... nY > (double)o) { ... nY > (double)o) { 951 return; 953 return; 952 } 954 } net/minecraft/client/entity/living/player/LocalClientPlayerEntity.java --- 5/5 --- Java 962 } 964 } 963 break; 965 break; 964 } 966 } 965 } 967 } 966 968 967 if (s != Float.MIN_VALUE) { 969 if (s != Float.MIN_VALUE) { 968 float u = (float)((double)s - this.getShape 970 float u = (float)((double)s - this.getShape ().minY); ().minY); net/minecraft/block/PistonBaseBlock.java --- 1/5 --- Java 6 import java.util.Set; 6 import java.util.Set; 7 import net.minecraft.block.entity.BlockEntity; 7 import net.minecraft.block.entity.BlockEntity; 8 import net.minecraft.block.entity.MovingBlockEntity; 8 import net.minecraft.block.entity.MovingBlockEntity; . 9 import net.minecraft.block.piston.PistonMoveBehavior; 9 import net.minecraft.block.piston.PistonMoveStructureResolver; 10 import net.minecraft.block.piston.PistonMoveStructureResolver; 10 import net.minecraft.block.shape.VoxelShape; 11 import net.minecraft.block.shape.VoxelShape; 11 import net.minecraft.block.shape.VoxelShapes; 12 import net.minecraft.block.shape.VoxelShapes; net/minecraft/block/PistonBaseBlock.java --- 2/5 --- Java 186 3 187 3 187 ); 188 ); 188 world.setBlockEntity(blockPos, MovingBlock.createMovingBlockE 189 world.setBlockEntity(blockPos, MovingBlock.createMovingBlockE ... ntity(this.defaultState().set(FACING, Direction.byId(j & 7)), directio ... ntity(this.defaultState().set(FACING, Direction.byId(j & 7)), directio ... n, false, true)); ... n, false, true)); 189 if (this.sticky && i == 1) { 190 if (this.sticky) { 190 BlockPos blockPos2 = blockPos.offset(direction); 191 BlockPos blockPos2 = blockPos.add(direction.getOffsetX() * ... ... 2, direction.getOffsetY() * 2, direction.getOffsetZ() * 2); ... 192 BlockState blockState2 = world.getBlockState(blockPos2); ... 193 Block block = blockState2.getBlock(); ... 194 boolean bl2 = false; 191 if (world.getBlockState(blockPos2).getBlock() == Blocks.PI 195 if (block == Blocks.MOVING_BLOCK) { ... STON_HEAD) { ... ... 196 BlockEntity blockEntity2 = world.getBlockEntity(blockPo ... ... s2); ... 197 if (blockEntity2 instanceof MovingBlockEntity) { ... 198 MovingBlockEntity movingBlockEntity = (MovingBlockEn ... ... tity)blockEntity2; 192 world.setBlockState(blockPos2, Blocks.AIR.defaultState( 199 if (movingBlockEntity.getFacing() == direction && mo ... ), 21); ... vingBlockEntity.isExtending()) { ... 200 movingBlockEntity.finish(); ... 201 bl2 = true; ... 202 } 193 } 203 } 194 204 } ... 205 ... 206 if (!bl2) { ... 207 if (i != 1 ... 208 || blockState2.isAir() ... 209 || !canMoveBlock(blockState2, world, blockPos2, dire ... ... ction.getOpposite(), false, direction) ... 210 || blockState2.getPistonMoveBehavior() != PistonMove ... ... Behavior.NORMAL && block != Blocks.PISTON && block != Blocks.STICKY_PI ... ... STON) { ... 211 world.removeBlock(blockPos.offset(direction)); ... 212 } else { 195 this.move(world, blockPos, direction, false); 213 this.move(world, blockPos, direction, false); ... 214 } ... 215 } 196 } else { 216 } else { 197 if (i == 2) { ... 198 BlockPos blockPos2 = blockPos.offset(direction, 2); ... 199 BlockEntity blockEntity2 = world.getBlockEntity(blockPo ... ... s2); ... 200 if (blockEntity2 instanceof MovingBlockEntity) { ... 201 ((MovingBlockEntity)blockEntity2).finish(); ... 202 } ... 203 } ... 204 ... 205 world.removeBlock(blockPos.offset(direction)); 217 world.removeBlock(blockPos.offset(direction)); 206 } 218 } net/minecraft/block/PistonBaseBlock.java --- 3/5 --- Java 251 } 263 } 252 264 253 private boolean move(World world, BlockPos blockPos, Direction dire 265 private boolean move(World world, BlockPos blockPos, Direction dire ... ction, boolean bl) { ... ction, boolean bl) { ... 266 BlockPos blockPos2 = blockPos.offset(direction); ... 267 if (!bl && world.getBlockState(blockPos2).getBlock() == Blocks.P ... ... ISTON_HEAD) { ... 268 world.setBlockState(blockPos2, Blocks.AIR.defaultState(), 20) ... ... ; ... 269 } ... 270 254 PistonMoveStructureResolver pistonMoveStructureResolver = new Pi 271 PistonMoveStructureResolver pistonMoveStructureResolver = new Pi ... stonMoveStructureResolver(world, blockPos, direction, bl); ... stonMoveStructureResolver(world, blockPos, direction, bl); 255 if (!pistonMoveStructureResolver.resolve()) { 272 if (!pistonMoveStructureResolver.resolve()) { net/minecraft/block/PistonBaseBlock.java --- 4/5 --- Java 259 List<BlockState> list2 = Lists.newArrayList(); 276 List<BlockState> list2 = Lists.newArrayList(); 260 277 261 for (int i = 0; i < list.size(); i++) { 278 for (int i = 0; i < list.size(); i++) { 262 BlockPos blockPos2 = list.get(i); 279 BlockPos blockPos3 = list.get(i); 263 list2.add(world.getBlockState(blockPos2)); 280 list2.add(world.getBlockState(blockPos3)); 264 } 281 } 265 282 266 List<BlockPos> list3 = pistonMoveStructureResolver.getToBreak 283 List<BlockPos> list3 = pistonMoveStructureResolver.getToBreak (); (); net/minecraft/block/PistonBaseBlock.java --- 5/5 --- Java 270 Set<BlockPos> set = Sets.newHashSet(list); 287 Set<BlockPos> set = Sets.newHashSet(list); 271 288 272 for (int k = list3.size() - 1; k >= 0; k--) { 289 for (int k = list3.size() - 1; k >= 0; k--) { 273 BlockPos blockPos3 = list3.get(k); 290 BlockPos blockPos4 = list3.get(k); 274 BlockState blockState = world.getBlockState(blockPos3); 291 BlockState blockState = world.getBlockState(blockPos4); 275 blockState.dropItems(world, blockPos3, 0); 292 blockState.dropItems(world, blockPos4, 0); 276 world.setBlockState(blockPos3, Blocks.AIR.defaultState(), 293 world.setBlockState(blockPos4, Blocks.AIR.defaultState(), ... 18); ... 18); 277 j--; 294 j--; 278 blockStates[j] = blockState; 295 blockStates[j] = blockState; 279 } 296 } 280 297 281 for (int k = list.size() - 1; k >= 0; k--) { 298 for (int k = list.size() - 1; k >= 0; k--) { 282 BlockPos blockPos3 = list.get(k); 299 BlockPos blockPos4 = list.get(k); 283 BlockState blockState = world.getBlockState(blockPos3); 300 BlockState blockState = world.getBlockState(blockPos4); 284 blockPos3 = blockPos3.offset(direction2); 301 blockPos4 = blockPos4.offset(direction2); 285 set.remove(blockPos3); 302 set.remove(blockPos4); 286 world.setBlockState(blockPos3, Blocks.MOVING_BLOCK.default 303 world.setBlockState(blockPos4, Blocks.MOVING_BLOCK.default ... State().set(FACING, direction), 84); ... State().set(FACING, direction), 68); 287 world.setBlockEntity(blockPos3, MovingBlock.createMovingBl 304 world.setBlockEntity(blockPos4, MovingBlock.createMovingBl ... ockEntity(list2.get(k), direction, bl, false)); ... ockEntity(list2.get(k), direction, bl, false)); 288 j--; 305 j--; 289 blockStates[j] = blockState; 306 blockStates[j] = blockState; 290 } 307 } 291 308 292 BlockPos blockPos4 = blockPos.offset(direction); ... 293 if (bl) { 309 if (bl) { 294 PistonType pistonType = this.sticky ? PistonType.STICKY : 310 PistonType pistonType = this.sticky ? PistonType.STICKY : ... PistonType.NORMAL; ... PistonType.NORMAL; 295 BlockState blockState = Blocks.PISTON_HEAD.defaultState(). 311 BlockState blockState2 = Blocks.PISTON_HEAD.defaultState() ... set(PistonHeadBlock.FACING, direction).set(PistonHeadBlock.TYPE, pisto ... .set(PistonHeadBlock.FACING, direction).set(PistonHeadBlock.TYPE, pist ... nType); ... onType); 296 BlockState blockState2 = Blocks.MOVING_BLOCK 312 BlockState blockState = Blocks.MOVING_BLOCK 297 .defaultState() 313 .defaultState() 298 .set(MovingBlock.FACING, direction) 314 .set(MovingBlock.FACING, direction) 299 .set(MovingBlock.TYPE, this.sticky ? PistonType.STICKY 315 .set(MovingBlock.TYPE, this.sticky ? PistonType.STICKY ... : PistonType.NORMAL); ... : PistonType.NORMAL); 300 set.remove(blockPos4); 316 set.remove(blockPos2); 301 world.setBlockState(blockPos4, blockState2, 4); 317 world.setBlockState(blockPos2, blockState, 4); 302 world.setBlockEntity(blockPos4, MovingBlock.createMovingBl 318 world.setBlockEntity(blockPos2, MovingBlock.createMovingBl ... ockEntity(blockState, direction, true, true)); ... ockEntity(blockState2, direction, true, true)); 303 } 319 } 304 320 305 for (BlockPos blockPos5 : set) { 321 for (BlockPos blockPos4 : set) { 306 world.setBlockState(blockPos5, Blocks.AIR.defaultState(), 322 world.setBlockState(blockPos4, Blocks.AIR.defaultState(), ... 2); ... 2); 307 } 323 } 308 324 309 for (int l = list3.size() - 1; l >= 0; l--) { 325 for (int k = list3.size() - 1; k >= 0; k--) { 310 BlockState blockState = blockStates[j++]; 326 BlockState blockState2 = blockStates[j++]; 311 BlockPos blockPos6 = list3.get(l); 327 BlockPos blockPos5 = list3.get(k); 312 blockState.updateIndirectNeighborShapes(world, blockPos6, 328 blockState2.updateIndirectNeighborShapes(world, blockPos5, ... 2); ... 2); 313 world.updateNeighbors(blockPos6, blockState.getBlock()); 329 world.updateNeighbors(blockPos5, blockState2.getBlock()); 314 } 330 } 315 331 316 for (int l = list.size() - 1; l >= 0; l--) { 332 for (int k = list.size() - 1; k >= 0; k--) { 317 world.updateNeighbors(list.get(l), blockStates[j++].getBlo 333 world.updateNeighbors(list.get(k), blockStates[j++].getBlo ... ck()); ... ck()); 318 } 334 } 319 335 320 if (bl) { 336 if (bl) { 321 world.updateNeighbors(blockPos4, Blocks.PISTON_HEAD); 337 world.updateNeighbors(blockPos2, Blocks.PISTON_HEAD); 322 } 338 } 323 339 324 return true; 340 return true; net/minecraft/client/gui/screen/ChatScreen.java --- 1/10 --- Java 6 import com.mojang.brigadier.CommandDispatcher; 6 import com.mojang.brigadier.CommandDispatcher; 7 import com.mojang.brigadier.Message; 7 import com.mojang.brigadier.Message; 8 import com.mojang.brigadier.ParseResults; 8 import com.mojang.brigadier.ParseResults; . 9 import com.mojang.brigadier.StringReader; 9 import com.mojang.brigadier.context.CommandContextBuilder; 10 import com.mojang.brigadier.context.CommandContextBuilder; 10 import com.mojang.brigadier.context.ParsedArgument; 11 import com.mojang.brigadier.context.ParsedArgument; 11 import com.mojang.brigadier.context.StringRange; 12 import com.mojang.brigadier.context.StringRange; net/minecraft/client/gui/screen/ChatScreen.java --- 2/10 --- Java 50 private ParseResults<SuggestionProvider> currentParse; 51 private ParseResults<SuggestionProvider> currentParse; 51 private CompletableFuture<Suggestions> pendingSuggestions; 52 private CompletableFuture<Suggestions> pendingSuggestions; 52 private ChatScreen.SuggestionsList suggestions; 53 private ChatScreen.SuggestionsList suggestions; 53 private String f_9725944 = ""; 54 private boolean hasEdits; 54 private boolean hasEdits; 55 private boolean keepSuggestions; 55 56 56 public ChatScreen() { 57 public ChatScreen() { 57 } 58 } net/minecraft/client/gui/screen/ChatScreen.java --- 3/10 --- Java 104 private void onEdited(int i, String string) { 105 private void onEdited(int i, String string) { 105 String string2 = this.chatField.getText(); 106 String string2 = this.chatField.getText(); 106 this.hasEdits = !string2.equals(this.initialChatText); 107 this.hasEdits = !string2.equals(this.initialChatText); 107 if (!string2.equals(this.f_9725944)) { ... 108 this.updateCommandInfo(); 108 this.updateCommandInfo(); 109 } ... 110 } 109 } 111 110 112 @Override 111 @Override net/minecraft/client/gui/screen/ChatScreen.java --- 4/10 --- Java 155 i = Math.max(i, this.textRenderer.getWidth(suggestion.g 154 i = Math.max(i, this.textRenderer.getWidth(suggestion.g ... etText())); ... etText())); 156 } 155 } 157 156 158 int j = this.m_2635915() ? 1 : 0; ... 159 int k = MathHelper.clamp(this.chatField.getScreenX(suggest 157 int j = MathHelper.clamp(this.chatField.getScreenX(suggest ... ions.getRange().getStart() + j), 0, this.width - i); ... ions.getRange().getStart()), 0, this.width - i); 160 this.suggestions = new ChatScreen.SuggestionsList( 158 this.suggestions = new ChatScreen.SuggestionsList(j, this. ... ... height - 12, i, suggestions); 161 k, this.height - 12, i, suggestions, (ChatScreen.C_8555 ... ... 704)(this.m_2635915() ? new ChatScreen.C_4453468() : new ChatScreen.C_ ... ... 4400091()) ... 162 ); ... 163 } 159 } 164 } 160 } net/minecraft/client/gui/screen/ChatScreen.java --- 5/10 --- Java 181 177 182 private void updateCommandInfo() { 178 private void updateCommandInfo() { 183 this.currentParse = null; 179 this.currentParse = null; 184 this.f_9725944 = this.chatField.getText(); 180 if (!this.keepSuggestions) { 185 this.chatField.setSuggestion(null); 181 this.chatField.setSuggestion(null); 186 this.suggestions = null; 182 this.suggestions = null; ... 183 } ... 184 187 this.commandUsage.clear(); 185 this.commandUsage.clear(); ... 186 String string = this.chatField.getText(); ... 187 StringReader stringReader = new StringReader(string); 188 if (this.m_2635915()) { 188 if (stringReader.canRead() && stringReader.peek() == '/') { ... 189 stringReader.skip(); 189 CommandDispatcher<SuggestionProvider> commandDispatcher = thi 190 CommandDispatcher<SuggestionProvider> commandDispatcher = thi ... s.minecraft.player.networkHandler.getCommands(); ... s.minecraft.player.networkHandler.getCommands(); 190 String string = this.chatField.getText().substring(1); ... 191 this.currentParse = commandDispatcher.parse(string, this.mine 191 this.currentParse = commandDispatcher.parse(stringReader, thi ... craft.player.networkHandler.getSuggestionProvider()); ... s.minecraft.player.networkHandler.getSuggestionProvider()); 192 this.pendingSuggestions = commandDispatcher.getCompletionSugg 192 if (this.suggestions == null || !this.keepSuggestions) { ... estions(this.currentParse); ... ... 193 StringReader stringReader2 = new StringReader(string.subst ... ... ring(0, Math.min(string.length(), this.chatField.getCursor()))); ... 194 if (stringReader2.canRead() && stringReader2.peek() == '/' ... ... ) { ... 195 stringReader2.skip(); ... 196 ParseResults<SuggestionProvider> parseResults = command ... ... Dispatcher.parse( ... 197 stringReader2, this.minecraft.player.networkHandler. ... ... getSuggestionProvider() ... 198 ); ... 199 this.pendingSuggestions = commandDispatcher.getCompleti ... ... onSuggestions(parseResults); 193 this.pendingSuggestions.thenRun(() -> { 200 this.pendingSuggestions.thenRun(() -> { 194 if (this.pendingSuggestions.isDone()) { 201 if (this.pendingSuggestions.isDone()) { 195 this.m_7853319(); 202 this.m_7853319(); 196 } 203 } 197 }); 204 }); ... 205 } ... 206 } 198 } else { 207 } else { 199 int i = getIndexOfLastWord(this.f_9725944); 208 int i = getIndexOfLastWord(string); 200 Collection<String> collection = this.minecraft.player.network 209 Collection<String> collection = this.minecraft.player.network ... Handler.getSuggestionProvider().getPlayerNames(); ... Handler.getSuggestionProvider().getPlayerNames(); 201 this.pendingSuggestions = SuggestionProvider.suggestMatching( 210 this.pendingSuggestions = SuggestionProvider.suggestMatching( ... collection, new SuggestionsBuilder(this.f_9725944, i)); ... collection, new SuggestionsBuilder(string, i)); 202 } 211 } 203 } 212 } 204 ... 205 private boolean m_2635915() { ... 206 return this.chatField.getText().startsWith("/"); ... 207 } ... 208 213 209 private void m_7853319() { 214 private void m_7853319() { 210 if (this.pendingSuggestions.join().isEmpty() && !this.currentPar 215 if (this.pendingSuggestions.join().isEmpty() ... se.getExceptions().isEmpty()) { ... ... 216 && !this.currentParse.getExceptions().isEmpty() ... 217 && this.chatField.getCursor() == this.chatField.getText().len ... ... gth()) { 211 int i = 0; 218 int i = 0; 212 219 213 for (Entry<CommandNode<SuggestionProvider>, CommandSyntaxExce 220 for (Entry<CommandNode<SuggestionProvider>, CommandSyntaxExce ption> entry : this.currentParse.getExceptions().entrySet()) { ption> entry : this.currentParse.getExceptions().entrySet()) { net/minecraft/client/gui/screen/ChatScreen.java --- 6/10 --- Java 236 } 243 } 237 } 244 } 238 245 239 private String formatChat(String string, int i) { 246 private String formatChat(String string, int i) { 240 i--; 247 return this.currentParse != null ? m_3747576(this.currentParse, ... ... string, i) : string; 241 if (this.currentParse == null) { 248 } ... 249 242 return string; 250 public static String m_3747576(ParseResults<SuggestionProvider> par ... ... seResults, String string, int i) { 243 } else { ... 244 Formatting[] formattings = new Formatting[]{Formatting.AQUA, 251 Formatting[] formattings = new Formatting[]{Formatting.AQUA, For ... Formatting.YELLOW, Formatting.GREEN, Formatting.LIGHT_PURPLE, Formatti ... matting.YELLOW, Formatting.GREEN, Formatting.LIGHT_PURPLE, Formatting. ... ng.GOLD}; ... GOLD}; 245 String string2 = Formatting.GRAY.toString(); 252 String string2 = Formatting.GRAY.toString(); 246 StringBuilder stringBuilder = new StringBuilder(string2); 253 StringBuilder stringBuilder = new StringBuilder(string2); 247 int j = 0; 254 int j = 0; 248 int k = -1; 255 int k = -1; 249 CommandContextBuilder<SuggestionProvider> commandContextBuild 256 CommandContextBuilder<SuggestionProvider> commandContextBuilder ... er = this.currentParse.getContext().getLastChild(); ... = parseResults.getContext().getLastChild(); 250 257 251 for (ParsedArgument<SuggestionProvider, ?> parsedArgument : c 258 for (ParsedArgument<SuggestionProvider, ?> parsedArgument : comm ... ommandContextBuilder.getArguments().values()) { ... andContextBuilder.getArguments().values()) { 252 if (++k >= formattings.length) { 259 if (++k >= formattings.length) { net/minecraft/client/gui/screen/ChatScreen.java --- 7/10 --- Java 268 } 275 } 269 } 276 } 270 277 271 if (this.currentParse.getReader().canRead()) { 278 if (parseResults.getReader().canRead()) { 272 int n = Math.max(this.currentParse.getReader().getCursor() 279 int n = Math.max(parseResults.getReader().getCursor() - i, 0) ... - i, 0); ... ; 273 if (n < string.length()) { 280 if (n < string.length()) { 274 int o = Math.min(n + this.currentParse.getReader().getR 281 int o = Math.min(n + parseResults.getReader().getRemaining ... emainingLength(), string.length()); ... Length(), string.length()); 275 stringBuilder.append(string, j, n); 282 stringBuilder.append(string, j, n); 276 stringBuilder.append(Formatting.RED); 283 stringBuilder.append(Formatting.RED); 277 stringBuilder.append(string, n, o); 284 stringBuilder.append(string, n, o); net/minecraft/client/gui/screen/ChatScreen.java --- 8/10 --- Java 282 stringBuilder.append(string, j, string.length()); 289 stringBuilder.append(string, j, string.length()); 283 return stringBuilder.toString(); 290 return stringBuilder.toString(); 284 } 291 } 285 } ... 286 292 287 @Override 293 @Override 288 public boolean mouseScrolled(double d) { 294 public boolean mouseScrolled(double d) { net/minecraft/client/gui/screen/ChatScreen.java --- 9/10 --- Java 442 } 448 } 443 449 444 private void setChatLine(String string) { 450 private void setChatLine(String string) { 445 this.f_9725944 = string; ... 446 this.chatField.setText(string); 451 this.chatField.setText(string); 447 } 452 } 448 ... 449 @Environment(EnvType.CLIENT) ... 450 class C_4400091 extends ChatScreen.C_8555704 { ... 451 public C_4400091() { ... 452 super(ChatScreen.this.chatField.getText()); ... 453 } ... 454 ... 455 @Override ... 456 protected void m_2167523(Suggestion suggestion) { ... 457 ChatScreen.this.chatField.setSuggestion(ChatScreen.m_5217954( ... ... ChatScreen.this.chatField.getText(), this.m_5721935(suggestion))); ... 458 } ... 459 ... 460 @Override ... 461 public void m_1714741(Suggestion suggestion) { ... 462 ChatScreen.this.setChatLine(this.m_5721935(suggestion)); ... 463 } ... 464 } ... 465 ... 466 @Environment(EnvType.CLIENT) ... 467 class C_4453468 extends ChatScreen.C_8555704 { ... 468 public C_4453468() { ... 469 super(ChatScreen.this.chatField.getText().substring(1)); ... 470 } ... 471 ... 472 @Override ... 473 protected void m_2167523(Suggestion suggestion) { ... 474 ChatScreen.this.chatField.setSuggestion(ChatScreen.m_5217954( ... ... ChatScreen.this.chatField.getText(), "/" + this.m_5721935(suggestion)) ... ... ); ... 475 } ... 476 ... 477 @Override ... 478 protected void m_1714741(Suggestion suggestion) { ... 479 ChatScreen.this.setChatLine("/" + this.m_5721935(suggestion)) ... ... ; ... 480 } ... 481 } ... 482 ... 483 @Environment(EnvType.CLIENT) ... 484 abstract class C_8555704 { ... 485 private final String f_5467968; ... 486 ... 487 public C_8555704(String string) { ... 488 this.f_5467968 = string; ... 489 } ... 490 ... 491 protected abstract void m_2167523(Suggestion suggestion); ... 492 ... 493 protected abstract void m_1714741(Suggestion suggestion); ... 494 ... 495 protected String m_5721935(Suggestion suggestion) { ... 496 return suggestion.apply(this.f_5467968); ... 497 } ... 498 } ... 499 453 500 @Environment(EnvType.CLIENT) 454 @Environment(EnvType.CLIENT) 501 class SuggestionsList { 455 class SuggestionsList { 502 private final C_4431058 box; 456 private final C_4431058 box; 503 private final Suggestions suggestions; 457 private final Suggestions suggestions; 504 private final ChatScreen.C_8555704 input; 458 private final String input; 505 private int offset; 459 private int offset; 506 private int current; 460 private int current; 507 private Vec2f mousePos = Vec2f.ZERO; 461 private Vec2f mousePos = Vec2f.ZERO; 508 private boolean cycle; 462 private boolean cycle; 509 463 510 private SuggestionsList(int i, int j, int k, Suggestions suggest 464 private SuggestionsList(int i, int j, int k, Suggestions suggest ... ions, ChatScreen.C_8555704 c_8555704) { ... ions) { 511 this.input = c_8555704; ... 512 this.box = new C_4431058(i - 1, j - 3 - Math.min(suggestions. 465 this.box = new C_4431058(i - 1, j - 3 - Math.min(suggestions. ... getList().size(), 10) * 12, k + 1, Math.min(suggestions.getList().size ... getList().size(), 10) * 12, k + 1, Math.min(suggestions.getList().size ... (), 10) * 12); ... (), 10) * 12); 513 this.suggestions = suggestions; 466 this.suggestions = suggestions; ... 467 this.input = ChatScreen.this.chatField.getText(); 514 this.select(0); 468 this.select(0); 515 } 469 } 516 470 net/minecraft/client/gui/screen/ChatScreen.java --- 10/10 --- Java 659 } 613 } 660 614 661 Suggestion suggestion = this.suggestions.getList().get(this.c 615 Suggestion suggestion = this.suggestions.getList().get(this.c ... urrent); ... urrent); 662 this.input.m_2167523(suggestion); 616 ChatScreen.this.chatField.setSuggestion(ChatScreen.m_5217954( ... ... ChatScreen.this.chatField.getText(), suggestion.apply(this.input))); 663 } 617 } 664 618 665 public void useSuggestion() { 619 public void useSuggestion() { 666 Suggestion suggestion = this.suggestions.getList().get(this.c 620 Suggestion suggestion = this.suggestions.getList().get(this.c ... urrent); ... urrent); ... 621 ChatScreen.this.keepSuggestions = true; 667 this.input.m_1714741(suggestion); 622 ChatScreen.this.setChatLine(suggestion.apply(this.input)); ... 623 int i = suggestion.getRange().getStart() + suggestion.getText ... ... ().length(); ... 624 ChatScreen.this.chatField.setSelectionStart(i); ... 625 ChatScreen.this.chatField.setSelectionEnd(i); 668 this.select(this.current); 626 this.select(this.current); ... 627 ChatScreen.this.keepSuggestions = false; 669 this.cycle = true; 628 this.cycle = true; 670 } 629 } 671 630 net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 1/8 --- Java 5 import com.mojang.brigadier.CommandDispatcher; 5 import com.mojang.brigadier.CommandDispatcher; 6 import com.mojang.brigadier.Message; 6 import com.mojang.brigadier.Message; 7 import com.mojang.brigadier.ParseResults; 7 import com.mojang.brigadier.ParseResults; . 8 import com.mojang.brigadier.StringReader; 8 import com.mojang.brigadier.context.CommandContextBuilder; 9 import com.mojang.brigadier.context.CommandContextBuilder; 9 import com.mojang.brigadier.context.ParsedArgument; . 10 import com.mojang.brigadier.context.StringRange; 10 import com.mojang.brigadier.context.StringRange; 11 import com.mojang.brigadier.exceptions.CommandSyntaxException; 11 import com.mojang.brigadier.exceptions.CommandSyntaxException; 12 import com.mojang.brigadier.suggestion.Suggestion; 12 import com.mojang.brigadier.suggestion.Suggestion; net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 2/8 --- Java 47 protected ParseResults<SuggestionProvider> currentParse; 47 protected ParseResults<SuggestionProvider> currentParse; 48 protected CompletableFuture<Suggestions> pendingSuggestions; 48 protected CompletableFuture<Suggestions> pendingSuggestions; 49 protected CommandBlockMinecartScreen.SuggestionsList suggestions; 49 protected CommandBlockMinecartScreen.SuggestionsList suggestions; 50 protected String f_2387519 = ""; 50 private boolean keepSuggestions; 51 51 52 @Override 52 @Override 53 public void tick() { 53 public void tick() { net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 3/8 --- Java 158 } 158 } 159 159 160 private void m_9212341(int i, String string) { 160 private void m_9212341(int i, String string) { 161 if (!this.input.getText().equals(this.f_2387519)) { ... 162 this.updateCommandInfo(); 161 this.updateCommandInfo(); 163 } ... 164 } 162 } 165 163 166 @Override 164 @Override net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 4/8 --- Java 191 189 192 protected void updateCommandInfo() { 190 protected void updateCommandInfo() { 193 this.currentParse = null; 191 this.currentParse = null; 194 this.f_2387519 = this.input.getText(); 192 if (!this.keepSuggestions) { 195 this.input.setSuggestion(null); 193 this.input.setSuggestion(null); 196 this.suggestions = null; 194 this.suggestions = null; ... 195 } ... 196 197 this.commandUsage.clear(); 197 this.commandUsage.clear(); 198 CommandDispatcher<SuggestionProvider> commandDispatcher = this.m 198 CommandDispatcher<SuggestionProvider> commandDispatcher = this.m ... inecraft.player.networkHandler.getCommands(); ... inecraft.player.networkHandler.getCommands(); 199 String string = this.input.getText(); 199 String string = this.input.getText(); ... 200 StringReader stringReader = new StringReader(string); 200 string = string.startsWith("/") ? string.substring(1) : string; 201 if (stringReader.canRead() && stringReader.peek() == '/') { ... 202 stringReader.skip(); ... 203 } ... 204 201 this.currentParse = commandDispatcher.parse(string, this.minecra 205 this.currentParse = commandDispatcher.parse(stringReader, this.m ... ft.player.networkHandler.getSuggestionProvider()); ... inecraft.player.networkHandler.getSuggestionProvider()); 202 this.pendingSuggestions = commandDispatcher.getCompletionSuggest 206 if (this.suggestions == null || !this.keepSuggestions) { ... ions(this.currentParse); ... ... 207 StringReader stringReader2 = new StringReader(string.substrin ... ... g(0, Math.min(string.length(), this.input.getCursor()))); ... 208 if (stringReader2.canRead() && stringReader2.peek() == '/') { ... 209 stringReader2.skip(); ... 210 } ... 211 ... 212 ParseResults<SuggestionProvider> parseResults = commandDispat ... ... cher.parse(stringReader2, this.minecraft.player.networkHandler.getSugg ... ... estionProvider()); ... 213 this.pendingSuggestions = commandDispatcher.getCompletionSugg ... ... estions(parseResults); 203 this.pendingSuggestions.thenRun(() -> { 214 this.pendingSuggestions.thenRun(() -> { 204 if (this.pendingSuggestions.isDone()) { 215 if (this.pendingSuggestions.isDone()) { 205 this.m_0222231(); 216 this.m_0222231(); 206 } 217 } 207 }); 218 }); ... 219 } 208 } 220 } 209 221 210 private void m_0222231() { 222 private void m_0222231() { 211 if (this.pendingSuggestions.join().isEmpty() && !this.currentPar 223 if (this.pendingSuggestions.join().isEmpty() && !this.currentPar ... se.getExceptions().isEmpty()) { ... se.getExceptions().isEmpty() && this.input.getCursor() == this.input.g ... ... etText().length()) { 212 int i = 0; 224 int i = 0; 213 225 214 for (Entry<CommandNode<SuggestionProvider>, CommandSyntaxExce 226 for (Entry<CommandNode<SuggestionProvider>, CommandSyntaxExce ption> entry : this.currentParse.getExceptions().entrySet()) { ption> entry : this.currentParse.getExceptions().entrySet()) { net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 5/8 --- Java 238 } 250 } 239 251 240 private String m_1473961(String string, int i) { 252 private String m_1473961(String string, int i) { 241 if (this.input.getText().startsWith("/")) { ... 242 i--; ... 243 } ... 244 ... 245 if (this.currentParse == null) { ... 246 return string; 253 return this.currentParse != null ? ChatScreen.m_3747576(this.cur ... ... rentParse, string, i) : string; 247 } else { ... 248 Formatting[] formattings = new Formatting[]{Formatting.AQUA, ... ... Formatting.YELLOW, Formatting.GREEN, Formatting.LIGHT_PURPLE, Formatti ... ... ng.GOLD}; ... 249 String string2 = Formatting.GRAY.toString(); ... 250 StringBuilder stringBuilder = new StringBuilder(string2); ... 251 int j = 0; ... 252 int k = -1; ... 253 CommandContextBuilder<SuggestionProvider> commandContextBuild ... ... er = this.currentParse.getContext().getLastChild(); ... 254 ... 255 for (ParsedArgument<SuggestionProvider, ?> parsedArgument : c ... ... ommandContextBuilder.getArguments().values()) { ... 256 if (++k >= formattings.length) { ... 257 k = 0; ... 258 } ... 259 ... 260 int l = Math.max(parsedArgument.getRange().getStart() - i, ... ... 0); ... 261 if (l >= string.length()) { ... 262 break; ... 263 } ... 264 ... 265 int m = Math.min(parsedArgument.getRange().getEnd() - i, s ... ... tring.length()); ... 266 if (m > 0) { ... 267 stringBuilder.append(string, j, l); ... 268 stringBuilder.append(formattings[k]); ... 269 stringBuilder.append(string, l, m); ... 270 stringBuilder.append(string2); ... 271 j = m; ... 272 } ... 273 } ... 274 ... 275 if (this.currentParse.getReader().canRead()) { ... 276 int n = Math.max(this.currentParse.getReader().getCursor() ... ... - i, 0); ... 277 if (n < string.length()) { ... 278 int o = Math.min(n + this.currentParse.getReader().getR ... ... emainingLength(), string.length()); ... 279 stringBuilder.append(string, j, n); ... 280 stringBuilder.append(Formatting.RED); ... 281 stringBuilder.append(string, n, o); ... 282 j = o; ... 283 } ... 284 } ... 285 ... 286 stringBuilder.append(string, j, string.length()); ... 287 return stringBuilder.toString(); ... 288 } ... 289 } 254 } 290 255 291 private void m_5085778(Formatting formatting) { 256 private void m_5085778(Formatting formatting) { net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 6/8 --- Java 383 0, 348 0, 384 this.input.getScreenX(0) + this.textRenderer.getWidth(" 349 this.input.getScreenX(0) + this.textRenderer.getWidth(" ... ") + this.input.getInnerWidth() - i ... ") + this.input.getInnerWidth() - i 385 ); 350 ); 386 this.suggestions = new CommandBlockMinecartScreen.Suggesti 351 this.suggestions = new CommandBlockMinecartScreen.Suggesti ... onsList(j, 72, i, suggestions, new CommandBlockMinecartScreen.C_647126 ... onsList(j, 72, i, suggestions); ... 0()); ... 387 } 352 } 388 } 353 } 389 } 354 } 390 355 391 protected void m_9668007(String string) { 356 protected void m_9668007(String string) { 392 this.f_2387519 = string; ... 393 this.input.setText(string); 357 this.input.setText(string); 394 } 358 } 395 ... 396 @Environment(EnvType.CLIENT) ... 397 abstract class C_4162832 { ... 398 private final String f_3463382; ... 399 ... 400 public C_4162832(String string) { ... 401 this.f_3463382 = string.startsWith("/") ? string.substring(1) ... ... : string; ... 402 } ... 403 ... 404 protected abstract void m_4899641(Suggestion suggestion); ... 405 ... 406 protected abstract void m_3472668(Suggestion suggestion); ... 407 ... 408 protected String m_7980719(Suggestion suggestion) { ... 409 return suggestion.apply(this.f_3463382); ... 410 } ... 411 } ... 412 ... 413 @Environment(EnvType.CLIENT) ... 414 class C_6471260 extends CommandBlockMinecartScreen.C_4162832 { ... 415 public C_6471260() { ... 416 super(CommandBlockMinecartScreen.this.input.getText()); ... 417 } ... 418 359 419 @Nullable 360 @Nullable 420 private String m_8007154(String string, String string2) { 361 private static String m_1607502(String string, String string2) { 421 String string3 = string.startsWith("/") ? string.substring(1) ... ... : string; ... 422 return string2.startsWith(string3) ? string2.substring(string 362 return string2.startsWith(string) ? string2.substring(string.len ... 3.length()) : null; ... gth()) : null; 423 } 363 } 424 ... 425 @Override ... 426 protected void m_4899641(Suggestion suggestion) { ... 427 CommandBlockMinecartScreen.this.input.setSuggestion(this.m_80 ... ... 07154(CommandBlockMinecartScreen.this.input.getText(), this.m_7980719( ... ... suggestion))); ... 428 } ... 429 ... 430 @Override ... 431 protected void m_3472668(Suggestion suggestion) { ... 432 String string = CommandBlockMinecartScreen.this.input.getText ... ... ().startsWith("/") ? "/" : ""; ... 433 CommandBlockMinecartScreen.this.m_9668007(string + this.m_798 ... ... 0719(suggestion)); ... 434 } ... 435 } ... 436 364 437 @Environment(EnvType.CLIENT) 365 @Environment(EnvType.CLIENT) 438 class SuggestionsList { 366 class SuggestionsList { 439 private final C_4431058 f_6694495; 367 private final C_4431058 f_6694495; 440 private final Suggestions f_3141110; 368 private final Suggestions f_3141110; 441 private final CommandBlockMinecartScreen.C_4162832 f_9487152; 369 private final String f_9487152; 442 private int f_4694926; 370 private int f_4694926; 443 private int f_4679239; 371 private int f_4679239; 444 private Vec2f f_4293441 = Vec2f.ZERO; 372 private Vec2f f_4293441 = Vec2f.ZERO; 445 private boolean f_2863608; 373 private boolean f_2863608; 446 374 447 private SuggestionsList(int i, int j, int k, Suggestions suggest 375 private SuggestionsList(int i, int j, int k, Suggestions suggest ... ions, CommandBlockMinecartScreen.C_4162832 c_4162832) { ... ions) { 448 this.f_9487152 = c_4162832; ... 449 this.f_6694495 = new C_4431058(i - 1, j, k + 1, Math.min(sugg 376 this.f_6694495 = new C_4431058(i - 1, j, k + 1, Math.min(sugg ... estions.getList().size(), 7) * 12); ... estions.getList().size(), 7) * 12); 450 this.f_3141110 = suggestions; 377 this.f_3141110 = suggestions; ... 378 this.f_9487152 = CommandBlockMinecartScreen.this.input.getTex ... ... t(); 451 this.m_5115157(0); 379 this.m_5115157(0); 452 } 380 } 453 381 net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 7/8 --- Java 600 if (this.f_4679239 < j) { 528 if (this.f_4679239 < j) { 601 this.f_4694926 = MathHelper.clamp(this.f_4679239, 0, Math. 529 this.f_4694926 = MathHelper.clamp(this.f_4679239, 0, Math. ... max(this.f_3141110.getList().size() - 7, 0)); ... max(this.f_3141110.getList().size() - 7, 0)); 602 } else if (this.f_4679239 > k) { 530 } else if (this.f_4679239 > k) { 603 this.f_4694926 = MathHelper.clamp(this.f_4679239 + 1 - 7, 531 this.f_4694926 = MathHelper.clamp(this.f_4679239 - 7, 0, M ... 0, Math.max(this.f_3141110.getList().size() - 7, 0)); ... ath.max(this.f_3141110.getList().size() - 7, 0)); 604 } 532 } 605 } 533 } 606 534 net/minecraft/client/gui/screen/CommandBlockMinecartScreen.java --- 8/8 --- Java 615 } 543 } 616 544 617 Suggestion suggestion = this.f_3141110.getList().get(this.f_4 545 Suggestion suggestion = this.f_3141110.getList().get(this.f_4 ... 679239); ... 679239); 618 this.f_9487152.m_4899641(suggestion); 546 CommandBlockMinecartScreen.this.input ... 547 .setSuggestion(CommandBlockMinecartScreen.m_1607502(Comman ... ... dBlockMinecartScreen.this.input.getText(), suggestion.apply(this.f_948 ... ... 7152))); 619 } 548 } 620 549 621 public void m_3855179() { 550 public void m_3855179() { 622 Suggestion suggestion = this.f_3141110.getList().get(this.f_4 551 Suggestion suggestion = this.f_3141110.getList().get(this.f_4 ... 679239); ... 679239); ... 552 CommandBlockMinecartScreen.this.keepSuggestions = true; 623 this.f_9487152.m_3472668(suggestion); 553 CommandBlockMinecartScreen.this.m_9668007(suggestion.apply(th ... ... is.f_9487152)); ... 554 int i = suggestion.getRange().getStart() + suggestion.getText ... ... ().length(); ... 555 CommandBlockMinecartScreen.this.input.setSelectionStart(i); ... 556 CommandBlockMinecartScreen.this.input.setSelectionEnd(i); 624 this.m_5115157(this.f_4679239); 557 this.m_5115157(this.f_4679239); ... 558 CommandBlockMinecartScreen.this.keepSuggestions = false; 625 this.f_2863608 = true; 559 this.f_2863608 = true; 626 } 560 } 627 561 net/minecraft/client/gui/GameGui.java --- 1/7 --- Java 136 TextRenderer textRenderer = this.getTextRenderer(); 136 TextRenderer textRenderer = this.getTextRenderer(); 137 GlStateManager.enableBlend(); 137 GlStateManager.enableBlend(); 138 if (Minecraft.isFancyGraphicsEnabled()) { 138 if (Minecraft.isFancyGraphicsEnabled()) { 139 this.renderVignette(this.minecraft.player.getBrightness()); 139 this.renderVignette(this.minecraft.getCamera()); 140 } else { 140 } else { 141 GlStateManager.enableDepthTest(); 141 GlStateManager.enableDepthTest(); 142 GlStateManager.blendFuncSeparate( 142 GlStateManager.blendFuncSeparate( net/minecraft/client/gui/GameGui.java --- 2/7 --- Java 456 } 456 } 457 457 458 protected void renderHotbar(float f) { 458 protected void renderHotbar(float f) { ... 459 PlayerEntity playerEntity = this.m_8164791(); 459 if (this.minecraft.getCamera() instanceof PlayerEntity) { 460 if (playerEntity != null) { 460 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); 461 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); 461 this.minecraft.getTextureManager().bind(WIDGETS_LOCATION); 462 this.minecraft.getTextureManager().bind(WIDGETS_LOCATION); 462 PlayerEntity playerEntity = (PlayerEntity)this.minecraft.getC ... ... amera(); ... 463 ItemStack itemStack = playerEntity.getOffHandStack(); 463 ItemStack itemStack = playerEntity.getOffHandStack(); 464 Arm arm = playerEntity.getMainArm().opposite(); 464 Arm arm = playerEntity.getMainArm().opposite(); 465 int i = this.f_2748637 / 2; 465 int i = this.f_2748637 / 2; net/minecraft/client/gui/GameGui.java --- 3/7 --- Java 671 } 671 } 672 } 672 } ... 673 ... 674 private PlayerEntity m_8164791() { ... 675 return !(this.minecraft.getCamera() instanceof PlayerEntity) ? n ... ... ull : (PlayerEntity)this.minecraft.getCamera(); ... 676 } ... 677 ... 678 private LivingEntity m_9010480() { ... 679 PlayerEntity playerEntity = this.m_8164791(); ... 680 if (playerEntity != null) { ... 681 Entity entity = playerEntity.getMount(); ... 682 if (entity == null) { ... 683 return null; ... 684 } ... 685 ... 686 if (entity instanceof LivingEntity) { ... 687 return (LivingEntity)entity; ... 688 } ... 689 } ... 690 ... 691 return null; ... 692 } ... 693 ... 694 private int m_1909000(LivingEntity livingEntity) { ... 695 if (livingEntity != null && livingEntity.isLiving()) { ... 696 float f = livingEntity.getMaxHealth(); ... 697 int i = (int)(f + 0.5F) / 2; ... 698 if (i > 30) { ... 699 i = 30; ... 700 } ... 701 ... 702 return i; ... 703 } else { ... 704 return 0; ... 705 } ... 706 } ... 707 ... 708 private int m_0766981(int i) { ... 709 return (int)Math.ceil((double)i / 10.0); ... 710 } 673 711 674 private void renderStatusBars() { 712 private void renderStatusBars() { ... 713 PlayerEntity playerEntity = this.m_8164791(); 675 if (this.minecraft.getCamera() instanceof PlayerEntity) { 714 if (playerEntity != null) { 676 PlayerEntity playerEntity = (PlayerEntity)this.minecraft.getC ... ... amera(); ... 677 int i = MathHelper.ceil(playerEntity.getHealth()); 715 int i = MathHelper.ceil(playerEntity.getHealth()); 678 boolean bl = this.lastHealthAnimationTime > (long)this.ticks 716 boolean bl = this.lastHealthAnimationTime > (long)this.ticks ... && (this.lastHealthAnimationTime - (long)this.ticks) / 3L % 2L == 1L; ... && (this.lastHealthAnimationTime - (long)this.ticks) / 3L % 2L == 1L; 679 long l = Utils.getTimeMillis(); 717 long l = Utils.getTimeMillis(); net/minecraft/client/gui/GameGui.java --- 4/7 --- Java 793 } 831 } 794 } 832 } 795 833 796 Entity entity = playerEntity.getMount(); 834 LivingEntity livingEntity = this.m_9010480(); ... 835 int yxx = this.m_1909000(livingEntity); 797 if (entity == null || !(entity instanceof LivingEntity)) { 836 if (yxx == 0) { 798 this.minecraft.profiler.swap("food"); 837 this.minecraft.profiler.swap("food"); 799 838 800 for (int yxx = 0; yxx < 10; yxx++) { 839 for (int zx = 0; zx < 10; zx++) { 801 int zx = o; 840 int aax = o; 802 int aax = 16; 841 int abx = 16; 803 int abx = 0; 842 int acx = 0; 804 if (playerEntity.hasStatusEffect(StatusEffects.HUNGER)) 843 if (playerEntity.hasStatusEffect(StatusEffects.HUNGER)) ... { ... { 805 aax += 36; 844 abx += 36; 806 abx = 13; 845 acx = 13; 807 } 846 } 808 847 809 if (playerEntity.getHungerManager().getSaturationLevel( 848 if (playerEntity.getHungerManager().getSaturationLevel( ... ) <= 0.0F && this.ticks % (k * 3 + 1) == 0) { ... ) <= 0.0F && this.ticks % (k * 3 + 1) == 0) { 810 zx = o + (this.random.nextInt(3) - 1); 849 aax = o + (this.random.nextInt(3) - 1); 811 } 850 } 812 851 813 int acx = n - yxx * 8 - 9; 852 int adx = n - zx * 8 - 9; 814 this.drawTexture(acx, zx, 16 + abx * 9, 27, 9, 9); 853 this.drawTexture(adx, aax, 16 + acx * 9, 27, 9, 9); 815 if (yxx * 2 + 1 < k) { 854 if (zx * 2 + 1 < k) { 816 this.drawTexture(acx, zx, aax + 36, 27, 9, 9); 855 this.drawTexture(adx, aax, abx + 36, 27, 9, 9); 817 } 856 } 818 857 819 if (yxx * 2 + 1 == k) { 858 if (zx * 2 + 1 == k) { 820 this.drawTexture(acx, zx, aax + 45, 27, 9, 9); 859 this.drawTexture(adx, aax, abx + 45, 27, 9, 9); 821 } 860 } 822 } 861 } ... 862 ... 863 t -= 10; 823 } 864 } 824 865 825 this.minecraft.profiler.swap("air"); 866 this.minecraft.profiler.swap("air"); 826 int yxx = this.minecraft.player.getBreath(); 867 int zx = playerEntity.getBreath(); ... 868 int aaxx = playerEntity.getMaxBreath(); 827 if (playerEntity.isSubmergedIn(FluidTags.WATER) || yxx < 300) 869 if (playerEntity.isSubmergedIn(FluidTags.WATER) || zx < aaxx) ... { ... { ... 870 int abxx = this.m_0766981(yxx) - 1; ... 871 t -= abxx * 10; 828 int zxx = MathHelper.ceil((double)(yxx - 2) * 10.0 / 300.0 872 int acxx = MathHelper.ceil((double)(zx - 2) * 10.0 / (doub ... ); ... le)aaxx); 829 int aaxx = MathHelper.ceil((double)yxx * 10.0 / 300.0) - z 873 int adxx = MathHelper.ceil((double)zx * 10.0 / (double)aax ... xx; ... x) - acxx; 830 if (entity != null && entity.isLiving()) { ... 831 LivingEntity livingEntity = (LivingEntity)entity; ... 832 int acxx = (int)Math.ceil((double)livingEntity.getHealt ... ... h()); ... 833 int adx = MathHelper.ceil((float)(acxx / 10)); ... 834 if (adx > 1) { ... 835 t -= 10; ... 836 } ... 837 } ... 838 874 839 for (int abxx = 0; abxx < zxx + aaxx; abxx++) { 875 for (int ae = 0; ae < acxx + adxx; ae++) { 840 if (abxx < zxx) { 876 if (ae < acxx) { 841 this.drawTexture(n - abxx * 8 - 9, t, 16, 18, 9, 9); 877 this.drawTexture(n - ae * 8 - 9, t, 16, 18, 9, 9); 842 } else { 878 } else { 843 this.drawTexture(n - abxx * 8 - 9, t, 25, 18, 9, 9); 879 this.drawTexture(n - ae * 8 - 9, t, 25, 18, 9, 9); 844 } 880 } 845 } 881 } 846 } 882 } net/minecraft/client/gui/GameGui.java --- 5/7 --- Java 850 } 886 } 851 887 852 private void renderVehicleHealth() { 888 private void renderVehicleHealth() { ... 889 LivingEntity livingEntity = this.m_9010480(); 853 if (this.minecraft.getCamera() instanceof PlayerEntity) { 890 if (livingEntity != null) { 854 PlayerEntity playerEntity = (PlayerEntity)this.minecraft.getC 891 int i = this.m_1909000(livingEntity); ... amera(); ... 855 Entity entity = playerEntity.getMount(); ... 856 if (entity != null) { 892 if (i != 0) { 857 if (entity.isLiving()) { ... 858 this.minecraft.profiler.swap("mountHealth"); ... 859 LivingEntity livingEntity = (LivingEntity)entity; ... 860 int i = (int)Math.ceil((double)livingEntity.getHealth() 893 int j = (int)Math.ceil((double)livingEntity.getHealth()); ... ); ... 861 float f = livingEntity.getMaxHealth(); ... 862 int j = (int)(f + 0.5F) / 2; 894 this.minecraft.profiler.swap("mountHealth"); 863 if (j > 30) { ... 864 j = 30; ... 865 } ... 866 ... 867 int k = this.f_0390887 - 39; 895 int k = this.f_0390887 - 39; 868 int l = this.f_2748637 / 2 + 91; 896 int l = this.f_2748637 / 2 + 91; 869 int m = k; 897 int m = k; 870 int n = 0; 898 int n = 0; 871 899 872 for (boolean bl = false; j > 0; n += 20) { 900 for (boolean bl = false; i > 0; n += 20) { 873 int o = Math.min(j, 10); 901 int o = Math.min(i, 10); 874 j -= o; 902 i -= o; 875 903 876 for (int p = 0; p < o; p++) { 904 for (int p = 0; p < o; p++) { 877 int q = 52; 905 int q = 52; 878 int r = 0; 906 int r = 0; 879 int s = l - p * 8 - 9; 907 int s = l - p * 8 - 9; 880 this.drawTexture(s, m, 52 + r * 9, 9, 9, 9); 908 this.drawTexture(s, m, 52 + r * 9, 9, 9, 9); 881 if (p * 2 + 1 + n < i) { 909 if (p * 2 + 1 + n < j) { 882 this.drawTexture(s, m, 88, 9, 9, 9); 910 this.drawTexture(s, m, 88, 9, 9, 9); 883 } 911 } 884 912 885 if (p * 2 + 1 + n == i) { 913 if (p * 2 + 1 + n == j) { 886 this.drawTexture(s, m, 97, 9, 9, 9); 914 this.drawTexture(s, m, 97, 9, 9, 9); 887 } 915 } 888 } 916 } 889 917 890 m -= 10; 918 m -= 10; 891 } 919 } 892 } ... 893 } 920 } 894 } 921 } 895 } 922 } net/minecraft/client/gui/GameGui.java --- 6/7 --- Java 917 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); 944 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F); 918 } 945 } ... 946 ... 947 private void m_9585496(Entity entity) { ... 948 if (entity != null) { ... 949 float f = MathHelper.clamp(1.0F - entity.getBrightness(), 0.0 ... ... F, 1.0F); ... 950 this.vignetteBrightness = (float)((double)this.vignetteBright ... ... ness + (double)(f - this.vignetteBrightness) * 0.01); ... 951 } ... 952 } 919 953 920 private void renderVignette(float f) { 954 private void renderVignette(Entity entity) { 921 f = 1.0F - f; ... 922 f = MathHelper.clamp(f, 0.0F, 1.0F); ... 923 WorldBorder worldBorder = this.minecraft.world.getWorldBorder(); 955 WorldBorder worldBorder = this.minecraft.world.getWorldBorder(); 924 float g = (float)worldBorder.getDistanceFrom(this.minecraft.play 956 float f = (float)worldBorder.getDistanceFrom(entity); ... er); ... 925 double d = Math.min( 957 double d = Math.min( 926 worldBorder.getSizeChangeSpeed() * (double)worldBorder.getWar 958 worldBorder.getSizeChangeSpeed() * (double)worldBorder.getWar ... ningTime() * 1000.0, ... ningTime() * 1000.0, 927 Math.abs(worldBorder.getSizeLerpTarget() - worldBorder.getLer 959 Math.abs(worldBorder.getSizeLerpTarget() - worldBorder.getLer ... pSize()) ... pSize()) 928 ); 960 ); 929 double e = Math.max((double)worldBorder.getWarningDistance(), d) 961 double e = Math.max((double)worldBorder.getWarningDistance(), d) ... ; ... ; 930 if ((double)g < e) { 962 if ((double)f < e) { 931 g = 1.0F - (float)((double)g / e); 963 f = 1.0F - (float)((double)f / e); 932 } else { 964 } else { 933 g = 0.0F; 965 f = 0.0F; 934 } 966 } 935 967 936 this.vignetteBrightness = (float)((double)this.vignetteBrightnes ... ... s + (double)(f - this.vignetteBrightness) * 0.01); ... 937 GlStateManager.disableDepthTest(); 968 GlStateManager.disableDepthTest(); 938 GlStateManager.depthMask(false); 969 GlStateManager.depthMask(false); 939 GlStateManager.blendFuncSeparate( 970 GlStateManager.blendFuncSeparate( 940 GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.O 971 GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.O ... NE_MINUS_SRC_COLOR, GlStateManager.SourceFactor.ONE, GlStateManager.De ... NE_MINUS_SRC_COLOR, GlStateManager.SourceFactor.ONE, GlStateManager.De ... stFactor.ZERO ... stFactor.ZERO 941 ); 972 ); 942 if (g > 0.0F) { 973 if (f > 0.0F) { 943 GlStateManager.color4f(0.0F, g, g, 1.0F); 974 GlStateManager.color4f(0.0F, f, f, 1.0F); 944 } else { 975 } else { 945 GlStateManager.color4f(this.vignetteBrightness, this.vignette 976 GlStateManager.color4f(this.vignetteBrightness, this.vignette ... Brightness, this.vignetteBrightness, 1.0F); ... Brightness, this.vignetteBrightness, 1.0F); 946 } 977 } net/minecraft/client/gui/GameGui.java --- 7/7 --- Java 1030 } 1061 } 1031 1062 1032 this.ticks++; 1063 this.ticks++; .... 1064 Entity entity = this.minecraft.getCamera(); .... 1065 if (entity != null) { .... 1066 this.m_9585496(entity); .... 1067 } .... 1068 1033 if (this.minecraft.player != null) { 1069 if (this.minecraft.player != null) { 1034 ItemStack itemStack = this.minecraft.player.inventory.getMai 1070 ItemStack itemStack = this.minecraft.player.inventory.getMai nHandStack(); nHandStack(); net/minecraft/world/World.java --- 1/14 --- Text (exceeded DFT_GRAPH_LIMIT) 2 2 3 import com.google.common.base.MoreObjects; 3 import com.google.common.base.MoreObjects; 4 import com.google.common.collect.Lists; 4 import com.google.common.collect.Lists; . 5 import it.unimi.dsi.fastutil.objects.ObjectIterator; . 6 import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet; 5 import java.util.Collection; 7 import java.util.Collection; 6 import java.util.Iterator; 8 import java.util.Iterator; 7 import java.util.List; 9 import java.util.List; 8 import java.util.Random; 10 import java.util.Random; . 11 import java.util.Set; 9 import java.util.UUID; 12 import java.util.UUID; . 13 import java.util.function.BooleanSupplier; 10 import java.util.function.Function; 14 import java.util.function.Function; .. 15 import java.util.stream.Stream; 11 import javax.annotation.Nullable; 16 import javax.annotation.Nullable; 12 import net.fabricmc.api.EnvType; 17 import net.fabricmc.api.EnvType; 13 import net.fabricmc.api.Environment; 18 import net.fabricmc.api.Environment; net/minecraft/world/World.java --- 2/14 --- Text (exceeded DFT_GRAPH_LIMIT) 67 import org.apache.logging.log4j.LogManager; 72 import org.apache.logging.log4j.LogManager; 68 import org.apache.logging.log4j.Logger; 73 import org.apache.logging.log4j.Logger; 69 74 70 public abstract class World implements WorldAccess, BlockLightView, Aut 75 public abstract class World implements EntityView, WorldAccess, BlockLi .. oCloseable { .. ghtView, AutoCloseable { 71 protected static final Logger LOGGER = LogManager.getLogger(); 76 protected static final Logger LOGGER = LogManager.getLogger(); 72 private static final Direction[] DIRECTIONS = Direction.values(); 77 private static final Direction[] DIRECTIONS = Direction.values(); 73 private int seaLevel = 63; 78 private int seaLevel = 63; 74 public final List<Entity> entities = Lists.newArrayList(); 79 protected final ObjectLinkedOpenHashSet<Entity> entities = new Objec .. .. tLinkedOpenHashSet<>(); 75 protected final List<Entity> entitiesToRemove = Lists.newArrayList() 80 protected final ObjectLinkedOpenHashSet<Entity> entitiesToRemove = n .. ; .. ew ObjectLinkedOpenHashSet<>(); 76 public final List<BlockEntity> blockEntities = Lists.newArrayList(); 81 private final ObjectLinkedOpenHashSet<BlockEntity> blockEntities = n .. .. ew ObjectLinkedOpenHashSet<>(); 77 public final List<BlockEntity> tickingBlockEntities = Lists.newArray 82 private final ObjectLinkedOpenHashSet<BlockEntity> tickingBlockEntit .. List(); .. ies = new ObjectLinkedOpenHashSet<>(); 78 private final List<BlockEntity> pendingBlockEntities = Lists.newArra 83 private final ObjectLinkedOpenHashSet<BlockEntity> pendingBlockEntit .. yList(); .. ies = new ObjectLinkedOpenHashSet<>(); 79 private final List<BlockEntity> removedBlockEntities = Lists.newArra 84 private final ObjectLinkedOpenHashSet<BlockEntity> removedBlockEntit .. yList(); .. ies = new ObjectLinkedOpenHashSet<>(); 80 public final List<PlayerEntity> players = Lists.newArrayList(); 85 public final List<PlayerEntity> players = Lists.newArrayList(); 81 public final List<Entity> globalEntities = Lists.newArrayList(); 86 public final List<Entity> globalEntities = Lists.newArrayList(); 82 protected final Int2ObjectHashMap<Entity> entitiesByNetworkId = new 87 protected final Int2ObjectHashMap<Entity> entitiesByNetworkId = new Int2ObjectHashMap<>(); Int2ObjectHashMap<>(); net/minecraft/world/World.java --- 3/14 --- Text (exceeded DFT_GRAPH_LIMIT) 190 } 195 } 191 196 192 public WorldChunk getChunkAt(int i, int j) { 197 public WorldChunk getChunkAt(int i, int j) { 193 return this.chunkSource.getChunk(i, j); 198 WorldChunk worldChunk = this.chunkSource.getChunk(i, j, true, tr ... ... ue); ... 199 if (worldChunk == null) { ... 200 throw new IllegalStateException("Should always be able to cre ... ... ate a chunk!"); ... 201 } else { ... 202 return worldChunk; ... 203 } 194 } 204 } 195 205 196 @Override 206 @Override net/minecraft/world/World.java --- 4/14 --- Text (exceeded DFT_GRAPH_LIMIT) 558 } 568 } 559 569 560 if (hitResult == null && bl4) { 570 if (hitResult == null && bl4) { 561 hitResult = VoxelShapes.m_2116308(VoxelShapes.block( 571 hitResult = VoxelShapes.block(0.0, 0.0, 0.0, 1.0, (d ... 0.0, 0.0, 0.0, 1.0, (double)fluidState.getHeight(), 1.0), vec3d, vec3d ... ouble)fluidState.getHeight(), 1.0).raycast(vec3d, vec3d2, blockPos); ... 2, blockPos); ... 562 } 572 } 563 573 564 if (hitResult != null) { 574 if (hitResult != null) { net/minecraft/world/World.java --- 5/14 --- Text (exceeded DFT_GRAPH_LIMIT) 675 } 685 } 676 686 677 if (hitResult3 == null && bl7) { 687 if (hitResult3 == null && bl7) { 678 hitResult3 = VoxelShapes.m_2116308(VoxelShapes.bl 688 hitResult3 = VoxelShapes.block(0.0, 0.0, 0.0, 1.0 ... ock(0.0, 0.0, 0.0, 1.0, (double)fluidState2.getHeight(), 1.0), vec3d, ... , (double)fluidState2.getHeight(), 1.0).raycast(vec3d, vec3d2, blockPo ... vec3d2, blockPos); ... s); 679 } 689 } 680 690 681 if (hitResult3 != null) { 691 if (hitResult3 != null) { net/minecraft/world/World.java --- 6/14 --- Text (exceeded DFT_GRAPH_LIMIT) 953 try { 963 try { 954 entity.time++; 964 entity.time++; 955 entity.tick(); 965 entity.tick(); 956 } catch (Throwable var9) { 966 } catch (Throwable var10) { 957 CrashReport crashReport = CrashReport.of(var9, "Ticking en 967 CrashReport crashReport = CrashReport.of(var10, "Ticking e ... tity"); ... ntity"); 958 CrashReportCategory crashReportCategory = crashReport.addC 968 CrashReportCategory crashReportCategory = crashReport.addC ... ategory("Entity being ticked"); ... ategory("Entity being ticked"); 959 if (entity == null) { 969 if (entity == null) { 960 crashReportCategory.add("Entity", "~~NULL~~"); 970 crashReportCategory.add("Entity", "~~NULL~~"); net/minecraft/world/World.java --- 7/14 --- Text (exceeded DFT_GRAPH_LIMIT) 973 this.profiler.swap("remove"); 983 this.profiler.swap("remove"); 974 this.entities.removeAll(this.entitiesToRemove); 984 this.entities.removeAll(this.entitiesToRemove); 975 985 976 for (int i = 0; i < this.entitiesToRemove.size(); i++) { 986 for (Entity entity : this.entitiesToRemove) { 977 Entity entity = this.entitiesToRemove.get(i); ... 978 int j = entity.chunkX; 987 int j = entity.chunkX; 979 int k = entity.chunkZ; 988 int k = entity.chunkZ; 980 if (entity.isLoaded && this.isChunkLoaded(j, k, true)) { 989 if (entity.isLoaded && this.isChunkLoaded(j, k, true)) { 981 this.getChunkAt(j, k).removeEntity(entity); 990 this.getChunkAt(j, k).removeEntity(entity); 982 } 991 } 983 } 992 } 984 993 985 for (int ix = 0; ix < this.entitiesToRemove.size(); ix++) { 994 for (Entity entityx : this.entitiesToRemove) { 986 this.onEntityRemoved(this.entitiesToRemove.get(ix)); 995 this.onEntityRemoved(entityx); 987 } 996 } 988 997 989 this.entitiesToRemove.clear(); 998 this.entitiesToRemove.clear(); 990 this.tickPlayers(); 999 this.tickPlayers(); 991 this.profiler.swap("regular"); 1000 this.profiler.swap("regular"); ... 1001 ObjectIterator<Entity> objectIterator = this.entities.iterator( ... .... ); 992 1002 993 for (int ix = 0; ix < this.entities.size(); ix++) { 1003 while (objectIterator.hasNext()) { 994 Entity entity = this.entities.get(ix); 1004 Entity entityx = objectIterator.next(); 995 Entity entity2 = entity.getMount(); 1005 Entity entity2 = entityx.getMount(); 996 if (entity2 != null) { 1006 if (entity2 != null) { 997 if (!entity2.removed && entity2.hasPassenger(entity)) { 1007 if (!entity2.removed && entity2.hasPassenger(entityx)) { 998 continue; 1008 continue; 999 } 1009 } 1000 1010 1001 entity.stopRiding(); 1011 entityx.stopRiding(); 1002 } 1012 } 1003 1013 1004 this.profiler.push("tick"); 1014 this.profiler.push("tick"); 1005 if (!entity.removed && !(entity instanceof ServerPlayerEntit 1015 if (!entityx.removed && !(entityx instanceof ServerPlayerEnt .... y)) { .... ity)) { 1006 try { 1016 try { 1007 this.updateEntity(entity); 1017 this.updateEntity(entityx); 1008 } catch (Throwable var8) { 1018 } catch (Throwable var9) { 1009 CrashReport crashReport2 = CrashReport.of(var8, "Ticki 1019 CrashReport crashReport2 = CrashReport.of(var9, "Ticki .... ng entity"); .... ng entity"); 1010 CrashReportCategory crashReportCategory2 = crashReport 1020 CrashReportCategory crashReportCategory2 = crashReport .... 2.addCategory("Entity being ticked"); .... 2.addCategory("Entity being ticked"); 1011 entity.populateCrashReport(crashReportCategory2); 1021 entityx.populateCrashReport(crashReportCategory2); 1012 throw new CrashException(crashReport2); 1022 throw new CrashException(crashReport2); 1013 } 1023 } 1014 } 1024 } 1015 1025 1016 this.profiler.pop(); 1026 this.profiler.pop(); 1017 this.profiler.push("remove"); 1027 this.profiler.push("remove"); 1018 if (entity.removed) { 1028 if (entityx.removed) { 1019 int k = entity.chunkX; 1029 int k = entityx.chunkX; 1020 int l = entity.chunkZ; 1030 int l = entityx.chunkZ; 1021 if (entity.isLoaded && this.isChunkLoaded(k, l, true)) { 1031 if (entityx.isLoaded && this.isChunkLoaded(k, l, true)) { 1022 this.getChunkAt(k, l).removeEntity(entity); 1032 this.getChunkAt(k, l).removeEntity(entityx); 1023 } 1033 } 1024 1034 1025 this.entities.remove(ix--); 1035 objectIterator.remove(); 1026 this.onEntityRemoved(entity); 1036 this.onEntityRemoved(entityx); 1027 } 1037 } 1028 1038 1029 this.profiler.pop(); 1039 this.profiler.pop(); net/minecraft/world/World.java --- 8/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1037 } 1047 } 1038 1048 1039 this.isTickingBlockEntities = true; 1049 this.isTickingBlockEntities = true; 1040 Iterator<BlockEntity> iterator = this.tickingBlockEntities.iter 1050 ObjectIterator<BlockEntity> objectIterator2 = this.tickingBlock .... ator(); .... Entities.iterator(); 1041 1051 1042 while (iterator.hasNext()) { 1052 while (objectIterator2.hasNext()) { 1043 BlockEntity blockEntity = iterator.next(); 1053 BlockEntity blockEntity = objectIterator2.next(); 1044 if (!blockEntity.isRemoved() && blockEntity.hasWorld()) { 1054 if (!blockEntity.isRemoved() && blockEntity.hasWorld()) { 1045 BlockPos blockPos = blockEntity.getPos(); 1055 BlockPos blockPos = blockEntity.getPos(); 1046 if (this.isChunkLoaded(blockPos) && this.worldBorder.cont 1056 if (this.isChunkLoaded(blockPos) && this.worldBorder.cont .... ains(blockPos)) { .... ains(blockPos)) { 1047 try { 1057 try { 1048 this.profiler.push(() -> String.valueOf(BlockEntity 1058 this.profiler.push(() -> String.valueOf(BlockEntity .... Type.getKey(blockEntity.getType()))); .... Type.getKey(blockEntity.getType()))); 1049 ((Tickable)blockEntity).tick(); 1059 ((Tickable)blockEntity).tick(); 1050 this.profiler.pop(); 1060 this.profiler.pop(); 1051 } catch (Throwable var7) { 1061 } catch (Throwable var8) { 1052 CrashReport crashReport2 = CrashReport.of(var7, "Ti 1062 CrashReport crashReport3 = CrashReport.of(var8, "Ti .... cking block entity"); .... cking block entity"); 1053 CrashReportCategory crashReportCategory2 = crashRep 1063 CrashReportCategory crashReportCategory3 = crashRep .... ort2.addCategory("Block entity being ticked"); .... ort3.addCategory("Block entity being ticked"); 1054 blockEntity.populateCrashReport(crashReportCategory 1064 blockEntity.populateCrashReport(crashReportCategory .... 2); .... 3); 1055 throw new CrashException(crashReport2); 1065 throw new CrashException(crashReport3); 1056 } 1066 } 1057 } 1067 } 1058 } 1068 } 1059 1069 1060 if (blockEntity.isRemoved()) { 1070 if (blockEntity.isRemoved()) { 1061 iterator.remove(); 1071 objectIterator2.remove(); 1062 this.blockEntities.remove(blockEntity); 1072 this.blockEntities.remove(blockEntity); 1063 if (this.isChunkLoaded(blockEntity.getPos())) { 1073 if (this.isChunkLoaded(blockEntity.getPos())) { 1064 this.getChunk(blockEntity.getPos()).removeBlockEntity( 1074 this.getChunk(blockEntity.getPos()).removeBlockEntity( blockEntity.getPos()); blockEntity.getPos()); net/minecraft/world/World.java --- 9/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1068 1078 1069 this.isTickingBlockEntities = false; 1079 this.isTickingBlockEntities = false; 1070 this.profiler.swap("pendingBlockEntities"); 1080 this.profiler.swap("pendingBlockEntities"); 1071 if (!this.pendingBlockEntities.isEmpty()) { .... 1072 for (int m = 0; m < this.pendingBlockEntities.size(); m++) { .... 1073 BlockEntity blockEntity2 = this.pendingBlockEntities.get( .... .... m); .... 1074 if (!blockEntity2.isRemoved()) { .... 1075 if (!this.blockEntities.contains(blockEntity2)) { .... 1076 this.addBlockEntity(blockEntity2); .... 1077 } .... 1078 1081 1079 if (this.isChunkLoaded(blockEntity2.getPos())) { 1082 while (!this.pendingBlockEntities.isEmpty()) { 1080 WorldChunk worldChunk = this.getChunk(blockEntity2. 1083 BlockEntity blockEntityx = this.pendingBlockEntities.removeF .... getPos()); .... irst(); 1081 BlockState blockState = worldChunk.getBlockState(bl 1084 if (!blockEntityx.isRemoved()) { .... ockEntity2.getPos()); .... 1082 worldChunk.setBlockEntity(blockEntity2.getPos(), bl 1085 if (!this.blockEntities.contains(blockEntityx)) { .... ockEntity2); .... 1083 this.notifyBlockChanged(blockEntity2.getPos(), bloc 1086 this.addBlockEntity(blockEntityx); .... kState, blockState, 3); .... 1084 } .... 1085 } 1087 } .... 1088 .... 1089 if (this.isChunkLoaded(blockEntityx.getPos())) { .... 1090 WorldChunk worldChunk = this.getChunk(blockEntityx.get .... .... Pos()); .... 1091 BlockState blockState = worldChunk.getBlockState(block .... .... Entityx.getPos()); .... 1092 worldChunk.setBlockEntity(blockEntityx.getPos(), block .... .... Entityx); .... 1093 this.notifyBlockChanged(blockEntityx.getPos(), blockSt .... .... ate, blockState, 3); .... 1094 } 1086 } 1095 } 1087 .... 1088 this.pendingBlockEntities.clear(); .... 1089 } 1096 } 1090 1097 1091 this.profiler.pop(); 1098 this.profiler.pop(); net/minecraft/world/World.java --- 10/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1417 1424 1418 @Nullable 1425 @Nullable 1419 private BlockEntity getPendingBlockEntity(BlockPos blockPos) { 1426 private BlockEntity getPendingBlockEntity(BlockPos blockPos) { 1420 for (int i = 0; i < this.pendingBlockEntities.size(); i++) { 1427 for (BlockEntity blockEntity : this.pendingBlockEntities) { 1421 BlockEntity blockEntity = this.pendingBlockEntities.get(i); .... 1422 if (!blockEntity.isRemoved() && blockEntity.getPos().equals( 1428 if (!blockEntity.isRemoved() && blockEntity.getPos().equals( .... blockPos)) { .... blockPos)) { 1423 return blockEntity; 1429 return blockEntity; 1424 } 1430 } net/minecraft/world/World.java --- 11/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1479 if (isOutsideWorldHeight(blockPos)) { 1485 if (isOutsideWorldHeight(blockPos)) { 1480 return false; 1486 return false; 1481 } else { 1487 } else { 1482 WorldChunk worldChunk = this.chunkSource.getLoadedChunk(bloc 1488 WorldChunk worldChunk = this.chunkSource.getChunk(blockPos.g .... kPos.getX() >> 4, blockPos.getZ() >> 4); .... etX() >> 4, blockPos.getZ() >> 4, false, false); 1483 return worldChunk != null && !worldChunk.isEmpty(); 1489 return worldChunk != null && !worldChunk.isEmpty(); 1484 } 1490 } 1485 } 1491 } net/minecraft/world/World.java --- 12/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1500 this.spawnMonsters = bl2; 1506 this.spawnMonsters = bl2; 1501 } 1507 } 1502 1508 1503 public void tick() { 1509 public void tick(BooleanSupplier booleanSupplier) { 1504 this.tickWeather(); 1510 this.tickWeather(); 1505 } 1511 } 1506 1512 net/minecraft/world/World.java --- 13/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1741 } 1747 } 1742 1748 1743 @Override 1749 @Override 1744 public List<Entity> getEntities(@Nullable Entity entity, Box box) 1750 public Stream<VoxelShape> getCollisions(@Nullable Entity entity, V .... { .... oxelShape voxelShape, VoxelShape voxelShape2, Set<Entity> set, boolea .... .... n bl) { 1745 return this.getEntities(entity, box, EntityFilter.NOT_SPECTATOR 1751 return Stream.concat(WorldAccess.super.getCollisions(entity, vo .... ); .... xelShape, voxelShape2, set, bl), this.getEntityCollisions(entity, vox .... .... elShape, bl, set)); 1746 } 1752 } 1747 1753 .... 1754 @Override 1748 public List<Entity> getEntities(@Nullable Entity entity, Box box, 1755 public List<Entity> getEntities(@Nullable Entity entity, Box box, .... @Nullable java.util.function.Predicate<? super Entity> predicate) { .... @Nullable java.util.function.Predicate<? super Entity> predicate) { 1749 List<Entity> list = Lists.newArrayList(); 1756 List<Entity> list = Lists.newArrayList(); 1750 int i = MathHelper.floor((box.minX - 2.0) / 16.0); 1757 int i = MathHelper.floor((box.minX - 2.0) / 16.0); net/minecraft/world/World.java --- 14/14 --- Text (exceeded DFT_GRAPH_LIMIT) 1835 } 1842 } 1836 1843 1837 @Environment(EnvType.CLIENT) 1844 @Environment(EnvType.CLIENT) 1838 public List<Entity> getEntities() { 1845 public int getEntityCount() { 1839 return this.entities; 1846 return this.entities.size(); 1840 } 1847 } 1841 1848 1842 public void notifyBlockEntityChanged(BlockPos blockPos, BlockEntit 1849 public void notifyBlockEntityChanged(BlockPos blockPos, BlockEntit y blockEntity) { y blockEntity) {