From 844ceb30ec8ada33beae91753a486b12111d1dd9 Mon Sep 17 00:00:00 2001 From: Patrik <51710571+shadowkora@users.noreply.github.com> Date: Thu, 3 Oct 2024 15:59:10 +0200 Subject: [PATCH] Turn Tinted Glass into bulletproof glass for pierce < 5 guns --- .../com/tacz/guns/entity/EntityKineticBullet.java | 4 ++++ .../com/tacz/guns/event/ammo/DestroyGlassBlock.java | 12 +++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/tacz/guns/entity/EntityKineticBullet.java b/src/main/java/com/tacz/guns/entity/EntityKineticBullet.java index b71d13317..c78a4b67d 100644 --- a/src/main/java/com/tacz/guns/entity/EntityKineticBullet.java +++ b/src/main/java/com/tacz/guns/entity/EntityKineticBullet.java @@ -561,6 +561,10 @@ public boolean isTracerAmmo() { return isTracerAmmo; } + public int getPierce() { + return this.pierce; + } + public RandomSource getRandom() { return this.random; } diff --git a/src/main/java/com/tacz/guns/event/ammo/DestroyGlassBlock.java b/src/main/java/com/tacz/guns/event/ammo/DestroyGlassBlock.java index 6c2bcbce0..1100684c0 100644 --- a/src/main/java/com/tacz/guns/event/ammo/DestroyGlassBlock.java +++ b/src/main/java/com/tacz/guns/event/ammo/DestroyGlassBlock.java @@ -24,9 +24,15 @@ public static void onAmmoHitBlock(AmmoHitBlockEvent event) { EntityKineticBullet ammo = event.getAmmo(); Block stateBlock = state.getBlock(); NoteBlockInstrument instrument = state.instrument(); - if (AmmoConfig.DESTROY_GLASS.get() && (stateBlock instanceof AbstractGlassBlock || - stateBlock instanceof StainedGlassPaneBlock || - (stateBlock instanceof IronBarsBlock && instrument.equals(NoteBlockInstrument.HAT)))) { + if (AmmoConfig.DESTROY_GLASS.get() && + !(stateBlock instanceof TintedGlassBlock) && + (stateBlock instanceof AbstractGlassBlock || + stateBlock instanceof StainedGlassPaneBlock || + (stateBlock instanceof IronBarsBlock && instrument.equals(NoteBlockInstrument.HAT)))) { + level.destroyBlock(pos, false, ammo.getOwner()); + } + // Break tinted glass if bullet pierce value is 5 or more + if (stateBlock instanceof TintedGlassBlock && ammo.getPierce() >= 5) { level.destroyBlock(pos, false, ammo.getOwner()); } }