More more more more more more more more more more patches
This commit is contained in:
		
					parent
					
						
							
								bf30d497ba
							
						
					
				
			
			
				commit
				
					
						7c319bce76
					
				
			
		
					 35 changed files with 72 additions and 2494 deletions
				
			
		
							
								
								
									
										54
									
								
								patches/server/Fix-falling-block-spawn-methods.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								patches/server/Fix-falling-block-spawn-methods.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,54 @@ | |||
| From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||||
| From: Nassim Jahnke <nassim@njahnke.dev> | ||||
| Date: Fri, 4 Mar 2022 20:35:19 +0100 | ||||
| Subject: [PATCH] Fix falling block spawn methods | ||||
| 
 | ||||
| Restores the API behavior from previous versions of the server | ||||
| - Do not call API events
 | ||||
| - Do not replace the existing block in the world
 | ||||
| 
 | ||||
| diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
 | ||||
| +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
 | ||||
| @@ -0,0 +0,0 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
 | ||||
|              // Paper end | ||||
|          } else if (FallingBlock.class.isAssignableFrom(clazz)) { | ||||
|              BlockPos pos = new BlockPos(x, y, z); | ||||
| -            entity = FallingBlockEntity.fall(world, pos, this.getHandle().getBlockState(pos));
 | ||||
| +            entity = new FallingBlockEntity(world, x, y, z, this.getHandle().getBlockState(pos)); // Paper
 | ||||
|          } else if (Projectile.class.isAssignableFrom(clazz)) { | ||||
|              if (Snowball.class.isAssignableFrom(clazz)) { | ||||
|                  entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); | ||||
| diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 | ||||
| --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
 | ||||
| @@ -0,0 +0,0 @@ public class CraftWorld extends CraftRegionAccessor implements World {
 | ||||
|          Validate.notNull(material, "Material cannot be null"); | ||||
|          Validate.isTrue(material.isBlock(), "Material must be a block"); | ||||
|   | ||||
| -        FallingBlockEntity entity = FallingBlockEntity.fall(world, new BlockPos(location.getX(), location.getY(), location.getZ()), CraftMagicNumbers.getBlock(material).defaultBlockState(), SpawnReason.CUSTOM);
 | ||||
| +        // Paper start - restore API behavior for spawning falling blocks
 | ||||
| +        FallingBlockEntity entity = new FallingBlockEntity(this.world, location.getX(), location.getY(), location.getZ(), CraftMagicNumbers.getBlock(material).defaultBlockState()); // Paper
 | ||||
| +        entity.time = 1;
 | ||||
| +
 | ||||
| +        this.world.addFreshEntity(entity, SpawnReason.CUSTOM);
 | ||||
| +        // Paper end
 | ||||
|          return (FallingBlock) entity.getBukkitEntity(); | ||||
|      } | ||||
|   | ||||
| @@ -0,0 +0,0 @@ public class CraftWorld extends CraftRegionAccessor implements World {
 | ||||
|          Validate.notNull(location, "Location cannot be null"); | ||||
|          Validate.notNull(data, "BlockData cannot be null"); | ||||
|   | ||||
| -        FallingBlockEntity entity = FallingBlockEntity.fall(world, new BlockPos(location.getX(), location.getY(), location.getZ()), ((CraftBlockData) data).getState(), SpawnReason.CUSTOM);
 | ||||
| +        // Paper start - restore API behavior for spawning falling blocks
 | ||||
| +        FallingBlockEntity entity = new FallingBlockEntity(this.world, location.getX(), location.getY(), location.getZ(), ((CraftBlockData) data).getState());
 | ||||
| +        entity.time = 1;
 | ||||
| +
 | ||||
| +        this.world.addFreshEntity(entity, SpawnReason.CUSTOM);
 | ||||
| +        // Paper end
 | ||||
|          return (FallingBlock) entity.getBukkitEntity(); | ||||
|      } | ||||
|   | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Nassim Jahnke
				Nassim Jahnke