37 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
	
		
			2.4 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 
								 | 
							
								From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
							 | 
						||
| 
								 | 
							
								From: Trigary <trigary0@gmail.com>
							 | 
						||
| 
								 | 
							
								Date: Mon, 25 Jan 2021 14:53:57 +0100
							 | 
						||
| 
								 | 
							
								Subject: [PATCH] add DragonEggFormEvent
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
							 | 
						||
| 
								 | 
							
								index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
							 | 
						||
| 
								 | 
							
								--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
							 | 
						||
| 
								 | 
							
								+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
							 | 
						||
| 
								 | 
							
								@@ -0,0 +0,0 @@ public class EndDragonFight {
							 | 
						||
| 
								 | 
							
								             this.dragonEvent.setVisible(false);
							 | 
						||
| 
								 | 
							
								             this.spawnExitPortal(true);
							 | 
						||
| 
								 | 
							
								             this.spawnNewGateway();
							 | 
						||
| 
								 | 
							
								+            // Paper start - DragonEggFormEvent
							 | 
						||
| 
								 | 
							
								+            BlockPos eggPosition = this.level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, EndPodiumFeature.END_PODIUM_LOCATION);
							 | 
						||
| 
								 | 
							
								+            org.bukkit.craftbukkit.block.CraftBlock eggBlock = org.bukkit.craftbukkit.block.CraftBlock.at(this.level, eggPosition);
							 | 
						||
| 
								 | 
							
								+            org.bukkit.craftbukkit.block.CraftBlockState eggState = new org.bukkit.craftbukkit.block.CraftBlockState(eggBlock);
							 | 
						||
| 
								 | 
							
								+            eggState.setData(Blocks.DRAGON_EGG.defaultBlockState());
							 | 
						||
| 
								 | 
							
								+            io.papermc.paper.event.block.DragonEggFormEvent eggEvent = new io.papermc.paper.event.block.DragonEggFormEvent(eggBlock, eggState,
							 | 
						||
| 
								 | 
							
								+                    new org.bukkit.craftbukkit.boss.CraftDragonBattle(this));
							 | 
						||
| 
								 | 
							
								+            // Paper end - DragonEggFormEvent
							 | 
						||
| 
								 | 
							
								             if (this.level.paperConfig.enderDragonsDeathAlwaysPlacesDragonEgg || !this.previouslyKilled) { // Paper - always place dragon egg
							 | 
						||
| 
								 | 
							
								-                this.level.setBlockAndUpdate(this.level.getHeightmapPos(Heightmap.Types.MOTION_BLOCKING, EndPodiumFeature.END_PODIUM_LOCATION), Blocks.DRAGON_EGG.defaultBlockState());
							 | 
						||
| 
								 | 
							
								+                // Paper start - DragonEggFormEvent
							 | 
						||
| 
								 | 
							
								+                //this.world.setTypeUpdate(this.world.getHighestBlockYAt(HeightMap.Type.MOTION_BLOCKING, WorldGenEndTrophy.a), Blocks.DRAGON_EGG.getBlockData());
							 | 
						||
| 
								 | 
							
								+            } else {
							 | 
						||
| 
								 | 
							
								+                eggEvent.setCancelled(true);
							 | 
						||
| 
								 | 
							
								+            }
							 | 
						||
| 
								 | 
							
								+            if (eggEvent.callEvent()) {
							 | 
						||
| 
								 | 
							
								+                eggEvent.getNewState().update(true);
							 | 
						||
| 
								 | 
							
								             }
							 | 
						||
| 
								 | 
							
								+            // Paper end - DragonEggFormEvent
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								             this.previouslyKilled = true;
							 | 
						||
| 
								 | 
							
								             this.dragonKilled = true;
							 |