Tags
Creators
Details
V1.29-data
Compatibility
Changes
GBG V1.29
Added Missile Turret
- A brand-new, long-range defensive turret.
- Boasts the highest range and damage out of any turret, at the cost of a minimum range and slow fire rate.
- Shoots the new homing missile projectile; projectiles also explode on impact.
- The Missile Turret will also ignore some blocks in order to reach a target.
- If a target is behind a wall, the Missile Turret will shoot anyway in order to break the wall.
- This also works to stop players in flying machines.
- (The turret is also the first to be two blocks tall!)
Rewrote Turret Menu
- The Turret Menu is now a standalone interface, similar to other Minecraft GUIs.
- The menu features information about the turret's stats, namely its current HP.
- The new menu includes interactive buttons that appear/disappear depending on currently available actions.
Added Turret Wrench Item
- Added a new, cheap item: the Wrench.
- Right-clicking with the Wrench opens the Turret Menu of the turret currently being looked at. (If no turret is being looked at, the menu will not open.)
- Other Wrench variants allow the triggering of a menu action, without needing to open the menu.
- Turrets can still be interacted with, item-free, by using
/trigger turret_settings.
Made Turrets Data-Driven
- The turrets in Gamingbarn's Guns are now fully data-driven.
- All stats, sounds, models, and other attributes are now defined in the
custom_dataof the turret item. - Not only does this change make adjusting stats a breeze, it also opens the door for custom turrets in other datapacks.
- The base item for turrets is now the Wait Music Disc, following the music disc trend for dynamic, data-driven custom items in GBG.
Added Projectile and Damage Type Support to Turrets
- Turrets can now use any Projectile or Damage Type that guns can utilize.
- However, in order for a Projectile or Damage Type to properly support turret utilization, small tweaks must be made to them.
- For example, to make a Projectile Type support turrets, the prior single line needed for entity checking now needs two slightly different forms:
execute if entity @s[type=player] if score @s gbg.raycast_distance matches 10.. positioned ~-0.15 ~-0.15 ~-0.15 as @e[limit=1,type=!#gbg:not_mob,tag=!gbg.gun_shooter,tag=!gbg.gun_hit,dx=0] positioned ~-0.7 ~-0.7 ~-0.7 if entity @s[dx=0] positioned ~0.85 ~0.85 ~0.85 positioned ~0.85 ~0.85 ~0.85 run function gbg:gun/raycast/hit_entity
execute if entity @s[type=#gbg:turret_parts/turret_core] positioned ~-0.15 ~-0.15 ~-0.15 as @e[limit=1,type=#gbg:turret_target_types/monster_player,tag=!gbg.gun_shooter,tag=!gbg.gun_hit,dx=0] positioned ~-0.7 ~-0.7 ~-0.7 if entity @s[dx=0] positioned ~0.85 ~0.85 ~0.85 positioned ~0.85 ~0.85 ~0.85 run function gbg:gun/raycast/hit_entity
- Similarly, to make a Damage Type support turrets, the
byentity selector needs adjusting:
$damage @s $(damage) gbg:bullet_standard by @e[type=#gbg:can_shoot_projectile,scores={gbg.id=$(source)},limit=1,distance=..520]
- (Slowcasts function exactly the same as before.)
Added Armor Penetration Mechanic to Turrets
- Turret projectiles now follow the same armor penetration logic used by guns.
- This means Auto and Sentry Turrets will be less effective against armored players.
- The Auto Turret has medium armor penetration and the Sentry Turret has light armor penetration.
- The Perdition Turret keeps its armor-ignoring feature.
- (The Missile Turret has the same penetration level as the Bazooka/Grenade Launcher.)
Tweaked Turret Recipes
- The recipes for the Auto Turret and Perdition Turret have been tweaked.
- The Auto Turret no longer costs one redstone dust.
- The Perdition Turret costs one extra gunpowder.
Buffed Turret Salvage Loot
- The loot dropped by turrets when salvaged has been buffed.
- Instead of dropping ~1/3 of the crafting ingredients, they now drop ~1/2.
- (Also, tweaked loot to match new recipes.)
Tweaked Turret Stats
- Auto Turret's range got buffed:
24->28 - Auto Turret's fire rate got nerfed:
14->16 - Sentry Turret's fire rate got buffed:
24->14 - Sentry Turret's damage got buffed:
2->3
Added Turret Whitelist System
- Players can now add other players to (or remove them from) their own personal global turret whitelist.
- When a player is whitelisted, turrets set to attack other players will ignore the player in question.
- Players can be added to the whitelist via:
/trigger z.gbg.wta set <PLAYER'S GBG ID>. - Players can be removed from the whitelist via:
/trigger z.gbg.wtr set <PLAYER'S GBG ID>. - Right now, the only way to get a player's GBG ID is through commands:
/scoreboard players get <PLAYER NAME> gbg.id. - (In the future, the 'Global' tab of the Turret Menu will allow for easier control of the whitelist.)
Updated Turret Descriptions
- The descriptions of turrets now include more information to reflect the new stat complexity.
- Turret descriptions now state the armor penetration and accuracy of the turret.
Fixed Destroyed Auto Turret Missing Face
- The top face of part of the Destroyed Auto Turret model was missing.
Added missile_turret_explosion Damage Type
- Added a new, non-dynamic damage type for use with the Missile Turret.
- It does not support different damage values via the
damageattribute. - Has a damage type ID of
10.
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| Gamingbarn's Guns - Resources V1.29.zip | Required resource pack | 4.58 MiB |
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:gLko9Axn:zuf3NN3U"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:gLko9Axn:zuf3NN3U"
}

