176 lines
9.1 KiB
Diff
176 lines
9.1 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Xymb <xymb@endcrystal.me>
|
|
Date: Thu, 22 Jun 2023 00:32:36 +0200
|
|
Subject: [PATCH] Option to disable achievements
|
|
|
|
|
|
diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
|
|
index 9f0095f2196133a8bcffd5306aa9ac0b99b2f8d7..31d66bb2fcf4bb7262df2d8006e307fee92660ea 100644
|
|
--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
|
|
+++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java
|
|
@@ -150,12 +150,14 @@ public class KaiijuWorldConfig {
|
|
public boolean optimizeHoppers = true;
|
|
public boolean tickWhenEmpty = true;
|
|
public boolean enableEntityThrottling = false;
|
|
+ public boolean disableAchievements = false;
|
|
|
|
private void optimizationSettings() {
|
|
shulkerBoxDropContentsWhenDestroyed = getBoolean("optimization.shulker-box-drop-contents-when-destroyed", shulkerBoxDropContentsWhenDestroyed);
|
|
optimizeHoppers = getBoolean("optimization.optimize-hoppers", optimizeHoppers);
|
|
tickWhenEmpty = getBoolean("optimization.tick-when-empty", tickWhenEmpty);
|
|
enableEntityThrottling = getBoolean("optimization.enable-entity-throttling", enableEntityThrottling);
|
|
+ disableAchievements = getBoolean("optimization.disable-achievements", disableAchievements);
|
|
}
|
|
|
|
public boolean fixVoidTrading = true;
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
index e0e7e0a2f60aff5bc8c625988860036722707da8..6f1878a8a0c904322286079f500592a268a269e9 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -792,7 +792,7 @@ public class ServerPlayer extends Player {
|
|
|
|
@Override
|
|
protected void onInsideBlock(BlockState state) {
|
|
- CriteriaTriggers.ENTER_BLOCK.trigger(this, state);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.ENTER_BLOCK.trigger(this, state); // Kaiiju
|
|
}
|
|
|
|
@Override
|
|
@@ -839,9 +839,9 @@ public class ServerPlayer extends Player {
|
|
}
|
|
}
|
|
|
|
- CriteriaTriggers.TICK.trigger(this);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.TICK.trigger(this); // Kaiiju
|
|
if (this.levitationStartPos != null) {
|
|
- CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.LEVITATION.trigger(this, this.levitationStartPos, this.tickCount - this.levitationStartTime); // Kaiiju
|
|
}
|
|
|
|
this.trackStartFallingPosition();
|
|
@@ -916,7 +916,7 @@ public class ServerPlayer extends Player {
|
|
}
|
|
|
|
if (this.tickCount % 20 == 0) {
|
|
- CriteriaTriggers.LOCATION.trigger(this);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.LOCATION.trigger(this); // Kaiiju
|
|
}
|
|
|
|
// CraftBukkit start - initialize oldLevel, fire PlayerLevelChangeEvent, and tick client-sided world border
|
|
@@ -945,7 +945,7 @@ public class ServerPlayer extends Player {
|
|
@Override
|
|
public void resetFallDistance() {
|
|
if (this.getHealth() > 0.0F && this.startingToFallPosition != null) {
|
|
- CriteriaTriggers.FALL_FROM_HEIGHT.trigger(this, this.startingToFallPosition);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.FALL_FROM_HEIGHT.trigger(this, this.startingToFallPosition); // Kaiiju
|
|
}
|
|
|
|
this.startingToFallPosition = null;
|
|
@@ -964,7 +964,7 @@ public class ServerPlayer extends Player {
|
|
if (this.enteredLavaOnVehiclePosition == null) {
|
|
this.enteredLavaOnVehiclePosition = this.position();
|
|
} else {
|
|
- CriteriaTriggers.RIDE_ENTITY_IN_LAVA_TRIGGER.trigger(this, this.enteredLavaOnVehiclePosition);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.RIDE_ENTITY_IN_LAVA_TRIGGER.trigger(this, this.enteredLavaOnVehiclePosition); // Kaiiju
|
|
}
|
|
}
|
|
|
|
@@ -1168,7 +1168,7 @@ public class ServerPlayer extends Player {
|
|
|
|
this.handleTeamKill(s, s1, ObjectiveCriteria.TEAM_KILL);
|
|
this.handleTeamKill(s1, s, ObjectiveCriteria.KILLED_BY_TEAM);
|
|
- CriteriaTriggers.PLAYER_KILLED_ENTITY.trigger(this, entityKilled, damageSource);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.PLAYER_KILLED_ENTITY.trigger(this, entityKilled, damageSource); // Kaiiju
|
|
}
|
|
}
|
|
|
|
@@ -1286,7 +1286,7 @@ public class ServerPlayer extends Player {
|
|
this.wonGame = false;
|
|
|
|
this.respawn((player) -> {
|
|
- CriteriaTriggers.CHANGED_DIMENSION.trigger(player, Level.END, Level.OVERWORLD);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.CHANGED_DIMENSION.trigger(player, Level.END, Level.OVERWORLD); // Kaiiju
|
|
}, true);
|
|
}
|
|
|
|
@@ -1787,14 +1787,14 @@ public class ServerPlayer extends Player {
|
|
maindimensionkey1 = resourcekey1;
|
|
}
|
|
// Paper end
|
|
- CriteriaTriggers.CHANGED_DIMENSION.trigger(this, maindimensionkey, maindimensionkey1);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.CHANGED_DIMENSION.trigger(this, maindimensionkey, maindimensionkey1); // Kaiiju
|
|
if (maindimensionkey != resourcekey || maindimensionkey1 != resourcekey1) {
|
|
- CriteriaTriggers.CHANGED_DIMENSION.trigger(this, resourcekey, resourcekey1);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.CHANGED_DIMENSION.trigger(this, resourcekey, resourcekey1); // Kaiiju
|
|
}
|
|
|
|
if (maindimensionkey == Level.NETHER && maindimensionkey1 == Level.OVERWORLD && this.enteredNetherPosition != null) {
|
|
// CraftBukkit end
|
|
- CriteriaTriggers.NETHER_TRAVEL.trigger(this, this.enteredNetherPosition);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.NETHER_TRAVEL.trigger(this, this.enteredNetherPosition); // Kaiiju
|
|
}
|
|
|
|
if (maindimensionkey1 != Level.NETHER) { // CraftBukkit
|
|
@@ -1872,7 +1872,7 @@ public class ServerPlayer extends Player {
|
|
{
|
|
Either<Player.BedSleepingProblem, Unit> either = super.startSleepInBed(blockposition, force).ifRight((unit) -> {
|
|
this.awardStat(Stats.SLEEP_IN_BED);
|
|
- CriteriaTriggers.SLEPT_IN_BED.trigger(this);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.SLEPT_IN_BED.trigger(this); // Kaiiju
|
|
});
|
|
|
|
if (!this.serverLevel().canSleepThroughNights()) {
|
|
@@ -2163,7 +2163,7 @@ public class ServerPlayer extends Player {
|
|
|
|
@Override
|
|
public void triggerRecipeCrafted(Recipe<?> recipe, List<ItemStack> ingredients) {
|
|
- CriteriaTriggers.RECIPE_CRAFTED.trigger(this, recipe.getId(), ingredients);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.RECIPE_CRAFTED.trigger(this, recipe.getId(), ingredients); // Kaiiju
|
|
}
|
|
|
|
@Override
|
|
@@ -2292,14 +2292,14 @@ public class ServerPlayer extends Player {
|
|
this.levitationStartPos = this.position();
|
|
}
|
|
|
|
- CriteriaTriggers.EFFECTS_CHANGED.trigger(this, source);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.EFFECTS_CHANGED.trigger(this, source); // Kaiiju
|
|
}
|
|
|
|
@Override
|
|
protected void onEffectUpdated(MobEffectInstance effect, boolean reapplyEffect, @Nullable Entity source) {
|
|
super.onEffectUpdated(effect, reapplyEffect, source);
|
|
this.connection.send(new ClientboundUpdateMobEffectPacket(this.getId(), effect));
|
|
- CriteriaTriggers.EFFECTS_CHANGED.trigger(this, source);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.EFFECTS_CHANGED.trigger(this, source); // Kaiiju
|
|
}
|
|
|
|
@Override
|
|
@@ -2310,7 +2310,7 @@ public class ServerPlayer extends Player {
|
|
this.levitationStartPos = null;
|
|
}
|
|
|
|
- CriteriaTriggers.EFFECTS_CHANGED.trigger(this, (Entity) null);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.EFFECTS_CHANGED.trigger(this, (Entity) null); // Kaiiju
|
|
}
|
|
|
|
@Override
|
|
@@ -2870,7 +2870,7 @@ public class ServerPlayer extends Player {
|
|
|
|
@Override
|
|
protected void updateUsingItem(ItemStack stack) {
|
|
- CriteriaTriggers.USING_ITEM.trigger(this, stack);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.USING_ITEM.trigger(this, stack); // Kaiiju
|
|
super.updateUsingItem(stack);
|
|
}
|
|
|
|
@@ -2899,7 +2899,7 @@ public class ServerPlayer extends Player {
|
|
Entity entity = item.getOwner();
|
|
|
|
if (entity != null) {
|
|
- CriteriaTriggers.THROWN_ITEM_PICKED_UP_BY_PLAYER.trigger(this, item.getItem(), entity);
|
|
+ if (!this.level().kaiijuConfig.disableAchievements) CriteriaTriggers.THROWN_ITEM_PICKED_UP_BY_PLAYER.trigger(this, item.getItem(), entity); // Kaiiju
|
|
}
|
|
|
|
}
|