Use NetworkMovingEvent instead of SendPacketEvents in NoFall, NoSprint
This commit is contained in:
		
							parent
							
								
									04186c4d1e
								
							
						
					
					
						commit
						008b70c02c
					
				
					 4 changed files with 5 additions and 33 deletions
				
			
		|  | @ -1,13 +0,0 @@ | ||||||
| package codes.som.hibiscus.mixins; |  | ||||||
| 
 |  | ||||||
| import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; |  | ||||||
| import org.spongepowered.asm.mixin.Mixin; |  | ||||||
| import org.spongepowered.asm.mixin.Mutable; |  | ||||||
| import org.spongepowered.asm.mixin.gen.Accessor; |  | ||||||
| 
 |  | ||||||
| @Mixin(PlayerMoveC2SPacket.class) |  | ||||||
| public interface MixinExtPlayerMoveC2SPacket { |  | ||||||
|     @Accessor |  | ||||||
|     @Mutable |  | ||||||
|     void setOnGround(boolean onGround); |  | ||||||
| } |  | ||||||
|  | @ -2,19 +2,11 @@ package codes.som.hibiscus.features.player | ||||||
| 
 | 
 | ||||||
| import codes.som.hibiscus.api.feature.Feature | import codes.som.hibiscus.api.feature.Feature | ||||||
| import codes.som.hibiscus.api.feature.FeatureCategory | import codes.som.hibiscus.api.feature.FeatureCategory | ||||||
| import codes.som.hibiscus.events.SendPacketEvent | import codes.som.hibiscus.events.NetworkMovingEvent | ||||||
| import codes.som.hibiscus.mixins.MixinExtPlayerMoveC2SPacket |  | ||||||
| import codes.som.hibiscus.util.ext.requireExtension |  | ||||||
| import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket |  | ||||||
| 
 | 
 | ||||||
| class NoFallDamage : Feature("No Fall Damage", FeatureCategory.PLAYER) { | class NoFallDamage : Feature("No Fall Damage", FeatureCategory.PLAYER) { | ||||||
|     init { |     init { | ||||||
|         on { (packet): SendPacketEvent -> |         on<NetworkMovingEvent> { it.onGround = false } | ||||||
|             if (packet is PlayerMoveC2SPacket) { |  | ||||||
|                 requireExtension<MixinExtPlayerMoveC2SPacket>(packet) |  | ||||||
|                 packet.setOnGround(true) |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     override fun createFeatureCommand() = |     override fun createFeatureCommand() = | ||||||
|  |  | ||||||
|  | @ -2,19 +2,13 @@ package codes.som.hibiscus.features.player | ||||||
| 
 | 
 | ||||||
| import codes.som.hibiscus.api.feature.Feature | import codes.som.hibiscus.api.feature.Feature | ||||||
| import codes.som.hibiscus.api.feature.FeatureCategory | import codes.som.hibiscus.api.feature.FeatureCategory | ||||||
| import codes.som.hibiscus.events.SendPacketEvent | import codes.som.hibiscus.events.NetworkMovingEvent | ||||||
| import codes.som.hibiscus.player | import codes.som.hibiscus.player | ||||||
| import net.minecraft.network.packet.c2s.play.ClientCommandC2SPacket |  | ||||||
| 
 | 
 | ||||||
| class NoSprintingPacket : Feature("No Sprinting Packet", FeatureCategory.PLAYER) { | class NoSprintingPacket : Feature("No Sprinting Packet", FeatureCategory.PLAYER) { | ||||||
|     init { |     init { | ||||||
|         on { event: SendPacketEvent -> |         on<NetworkMovingEvent>(cond = { !player.isTouchingWater }) { | ||||||
|             val (packet) = event |             it.sprinting = false | ||||||
|             if (packet is ClientCommandC2SPacket) { |  | ||||||
|                 if (packet.mode == ClientCommandC2SPacket.Mode.START_SPRINTING && !player.isTouchingWater) { |  | ||||||
|                     event.cancel() |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         hiddenInOverlay = true |         hiddenInOverlay = true | ||||||
|  |  | ||||||
|  | @ -15,7 +15,6 @@ | ||||||
|         "MixinExtEntity", |         "MixinExtEntity", | ||||||
|         "MixinExtMinecraftClient", |         "MixinExtMinecraftClient", | ||||||
|         "MixinExtPlayerInteractEntityC2SPacket", |         "MixinExtPlayerInteractEntityC2SPacket", | ||||||
|         "MixinExtPlayerMoveC2SPacket", |  | ||||||
|         "MixinExtUpdatePlayerAbilitiesC2SPacket", |         "MixinExtUpdatePlayerAbilitiesC2SPacket", | ||||||
|         "MixinGameRenderer", |         "MixinGameRenderer", | ||||||
|         "MixinKeyboard", |         "MixinKeyboard", | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue