Skip to content

Commit

Permalink
Revert "Add #118 + Small refactor (#135)" (#140)
Browse files Browse the repository at this point in the history
This reverts commit bbda4b2.
  • Loading branch information
TylerS1066 authored Sep 14, 2024
1 parent 3db8599 commit d91137d
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 94 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@
import net.countercraft.movecraft.combat.listener.CraftCollisionExplosionListener;
import net.countercraft.movecraft.combat.listener.ExplosionListener;
import net.countercraft.movecraft.combat.localisation.I18nSupport;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

import java.io.File;
Expand Down Expand Up @@ -65,81 +63,74 @@ public void onEnable() {


// Load localisation and features from config
FileConfiguration config = getConfig();
I18nSupport.load(config);
I18nSupport.load(getConfig());

CombatRelease.load(config);
CombatRelease.load(getConfig());

Directors.load(config);
AADirectors.load(config);
ArrowDirectors.load(config);
CannonDirectors.load(config);
Directors.load(getConfig());
AADirectors.load(getConfig());
ArrowDirectors.load(getConfig());
CannonDirectors.load(getConfig());

MovementTracers.load(config);
TNTTracers.load(config);
MovementTracers.load(getConfig());
TNTTracers.load(getConfig());

DamageTracking.load(config);
DamageTracking.load(getConfig());

AddFiresToHitbox.load(config);
AntiRadar.load(config);
ContactExplosives.load(config);
DurabilityOverride.load(config);
FireballLifespan.load(config);
FireballPenetration.load(config);
ReImplementTNTTranslocation.load(config);
BlockBehaviorOverride.load(config);
AddFiresToHitbox.load(getConfig());
AntiRadar.load(getConfig());
ContactExplosives.load(getConfig());
DurabilityOverride.load(getConfig());
FireballLifespan.load(getConfig());
FireballPenetration.load(getConfig());
ReImplementTNTTranslocation.load(getConfig());
BlockBehaviorOverride.load(getConfig());

// Register event translation listeners
PluginManager pluginManager = getServer().getPluginManager();
pluginManager.registerEvents(new CraftCollisionExplosionListener(), this);
pluginManager.registerEvents(new ExplosionListener(), this);

getServer().getPluginManager().registerEvents(new CraftCollisionExplosionListener(), this);
getServer().getPluginManager().registerEvents(new ExplosionListener(), this);

// Register features
var combatRelease = new CombatRelease();
pluginManager.registerEvents(combatRelease, this);
getServer().getPluginManager().registerEvents(combatRelease, this);
combatRelease.runTaskTimer(this, 0, 200); // Every 10 seconds

var aaDirectors = new AADirectors();
pluginManager.registerEvents(aaDirectors, this);
getServer().getPluginManager().registerEvents(aaDirectors, this);
aaDirectors.runTaskTimer(this, 0, 1); // Every tick
var arrowDirectors = new ArrowDirectors();
pluginManager.registerEvents(arrowDirectors, this);
getServer().getPluginManager().registerEvents(arrowDirectors, this);
arrowDirectors.runTaskTimer(this, 0, 1); // Every tick
var cannonDirectors = new CannonDirectors();
pluginManager.registerEvents(cannonDirectors, this);
getServer().getPluginManager().registerEvents(cannonDirectors, this);
cannonDirectors.runTaskTimer(this, 0, 1); // Every tick

var playerManager = new PlayerManager();
pluginManager.registerEvents(playerManager, this);
pluginManager.registerEvents(new MovementTracers(playerManager), this);
getServer().getPluginManager().registerEvents(playerManager, this);
getServer().getPluginManager().registerEvents(new MovementTracers(playerManager), this);
var tntTracers = new TNTTracers(playerManager);
pluginManager.registerEvents(tntTracers, this);
getServer().getPluginManager().registerEvents(tntTracers, this);
tntTracers.runTaskTimer(this, 0, 1); // Every tick

var damageTracking = new DamageTracking();
pluginManager.registerEvents(damageTracking, this);
pluginManager.registerEvents(new FireballTracking(damageTracking, aaDirectors), this);
pluginManager.registerEvents(new TNTTracking(damageTracking, cannonDirectors), this);
getServer().getPluginManager().registerEvents(damageTracking, this);
getServer().getPluginManager().registerEvents(new FireballTracking(damageTracking, aaDirectors), this);
getServer().getPluginManager().registerEvents(new TNTTracking(damageTracking, cannonDirectors), this);


pluginManager.registerEvents(new AddFiresToHitbox(), this);
pluginManager.registerEvents(new AntiRadar(), this);
getServer().getPluginManager().registerEvents(new AddFiresToHitbox(), this);
getServer().getPluginManager().registerEvents(new AntiRadar(), this);
var contactExplosives = new ContactExplosives();
pluginManager.registerEvents(contactExplosives, this);
getServer().getPluginManager().registerEvents(contactExplosives, this);
contactExplosives.runTaskTimer(this, 0, 1); // Every tick
pluginManager.registerEvents(new DurabilityOverride(), this);
getServer().getPluginManager().registerEvents(new DurabilityOverride(), this);
var fireballLifespan = new FireballLifespan();
pluginManager.registerEvents(fireballLifespan, this);
getServer().getPluginManager().registerEvents(fireballLifespan, this);
fireballLifespan.runTaskTimer(this, 0, 20); // Every 1 second
pluginManager.registerEvents(new FireballLifespan(), this);
pluginManager.registerEvents(new FireballPenetration(), this);
pluginManager.registerEvents(new ReImplementTNTTranslocation(), this);
getServer().getPluginManager().registerEvents(new FireballLifespan(), this);
getServer().getPluginManager().registerEvents(new FireballPenetration(), this);
getServer().getPluginManager().registerEvents(new ReImplementTNTTranslocation(), this);

if (config.contains("BleedfixExplosion") && config.getBoolean("BleedfixExplosion")) {
// don't bother registering the event if the feature is disabled
pluginManager.registerEvents(new Bleedfix(), this);
}

// Register commands
getCommand("tnttracersetting").setExecutor(new TNTTracerSettingCommand(playerManager));
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.countercraft.movecraft.util.Tags;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.EntityType;
import org.bukkit.event.EventHandler;
Expand All @@ -20,7 +21,6 @@

public class DurabilityOverride implements Listener {
public static Map<Material, Integer> DurabilityOverride = null;
private static final Random random = new Random();

public static void load(@NotNull FileConfiguration config) {
if (!config.contains("DurabilityOverride"))
Expand All @@ -37,6 +37,14 @@ public static void load(@NotNull FileConfiguration config) {
}
}


private boolean nextToAir(@NotNull Block b) {
return b.getRelative(BlockFace.UP).isEmpty() || b.getRelative(BlockFace.DOWN).isEmpty()
|| b.getRelative(BlockFace.EAST).isEmpty() || b.getRelative(BlockFace.WEST).isEmpty()
|| b.getRelative(BlockFace.NORTH).isEmpty() || b.getRelative(BlockFace.SOUTH).isEmpty();
}


@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
public void onEntityExplode(@NotNull EntityExplodeEvent e) {
if (DurabilityOverride == null)
Expand All @@ -46,13 +54,18 @@ public void onEntityExplode(@NotNull EntityExplodeEvent e) {

Set<Block> removeList = new HashSet<>();
for (Block b : e.blockList()) {
// remove the block if no adjacent blocks are air (IE: the explosion skipped a block)
if (!nextToAir(b)) {
removeList.add(b);
continue;
}

if (!DurabilityOverride.containsKey(b.getType()))
continue;

// Generate a random number based on the location and system time
long seed = (long) b.getX() * b.getY() * b.getZ() + (System.currentTimeMillis() >> 12);
random.setSeed(seed); //don't create random each time just change the seed
int chance = random.nextInt(100);
int chance = new Random(seed).nextInt(100);
if (chance > DurabilityOverride.get(b.getType()))
continue;

Expand Down
1 change: 0 additions & 1 deletion src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ ContactExplosivesMinImpulse: 0.35 # Minimum velocity for contact explosives to t
DurabilityOverride: # List of block IDs: ignore percent
END_STONE: 80
END_STONE_BRICKS: 80
BleedfixExplosion: true

# Fireball Lifespan
FireballLifespan: 6 # Lifespan of fireballs in seconds
Expand Down

0 comments on commit d91137d

Please sign in to comment.