Skip to content

Commit 3424281

Browse files
committed
feat: bugfix
1 parent 1b4e57a commit 3424281

File tree

12 files changed

+92
-55
lines changed

12 files changed

+92
-55
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ dependencies {
5959
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
6060

6161
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
62-
modImplementation files("libs/jsmacros-1.21-1.9.3.jar")
63-
modImplementation files("libs/jsmacros-1.21-js-extension.jar")
64-
modImplementation files("libs/graal-sdk-23.0.1.jar")
62+
modCompileOnly files("libs/jsmacros-1.21-1.9.3.jar")
63+
modCompileOnly files("libs/jsmacros-1.21-js-extension.jar")
64+
modCompileOnly files("libs/graal-sdk-23.0.1.jar")
6565

6666
api 'com.github.houbb:pinyin:0.4.0'
6767
api 'io.netty:netty-handler-proxy:4.1.97.Final'

logs/latest.log

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
[17:20:55] [Test worker/INFO]: check 1
2-
[17:20:55] [Test worker/INFO]: running ItemStack tests 2
3-
[17:20:55] [Test worker/INFO]: item:
1+
[19:29:04] [Test worker/INFO]: check 1
2+
[19:29:04] [Test worker/INFO]: running ItemStack tests 2
3+
[19:29:04] [Test worker/INFO]: item:
44
==: org.bukkit.inventory.ItemStack
55
v: 3465
66
type: DIRT
@@ -10,9 +10,9 @@
1010
PublicBukkitValues:
1111
infinityexpansion:display: 351372703i
1212

13-
[17:20:56] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitMetaItem me.matl114.bukkit.BukkitMetaItem.deserialize(java.util.Map) throws java.lang.Throwable' of class me.matl114.bukkit.BukkitMetaItem for deserialization java.lang.ExceptionInInitializerError
14-
[17:20:56] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitItemStack me.matl114.bukkit.BukkitItemStack.deserialize(java.util.Map)' of class me.matl114.bukkit.BukkitItemStack for deserialization java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.item.Items
15-
[17:20:56] [Test worker/INFO]: null
16-
[17:20:56] [Test worker/INFO]: check 2
17-
[17:20:56] [Test worker/INFO]: running ItemStack tests 2
18-
[17:20:56] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitMetaItem me.matl114.bukkit.BukkitMetaItem.deserialize(java.util.Map) throws java.lang.Throwable' of class me.matl114.bukkit.BukkitMetaItem for deserialization java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.item.Items
13+
[19:29:04] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitMetaItem me.matl114.bukkit.BukkitMetaItem.deserialize(java.util.Map) throws java.lang.Throwable' of class me.matl114.bukkit.BukkitMetaItem for deserialization java.lang.ExceptionInInitializerError
14+
[19:29:04] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitItemStack me.matl114.bukkit.BukkitItemStack.deserialize(java.util.Map)' of class me.matl114.bukkit.BukkitItemStack for deserialization java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.item.Items
15+
[19:29:04] [Test worker/INFO]: null
16+
[19:29:04] [Test worker/INFO]: check 2
17+
[19:29:04] [Test worker/INFO]: running ItemStack tests 2
18+
[19:29:04] [Test worker/INFO]: Could not call method 'public static me.matl114.bukkit.BukkitMetaItem me.matl114.bukkit.BukkitMetaItem.deserialize(java.util.Map) throws java.lang.Throwable' of class me.matl114.bukkit.BukkitMetaItem for deserialization java.lang.NoClassDefFoundError: Could not initialize class net.minecraft.item.Items

src/main/java/me/matl114/bukkit/BukkitItemStackUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import me.matl114.utils.ItemStackUtils;
1010
import net.minecraft.component.type.ProfileComponent;
1111
import net.minecraft.item.ItemStack;
12+
import net.minecraft.item.Items;
1213

1314

1415
import javax.annotation.Nonnull;
@@ -17,7 +18,7 @@
1718

1819
public class BukkitItemStackUtils {
1920
public static ConfigurationSerializableDataType<BukkitItemStack> DATATYPE_MOCKITEMSTACK=new ConfigurationSerializableDataType(BukkitItemStack.class);
20-
// public static ItemStack STACK_FORBIDDEN=new ItemStack(Items.BARRIER,1);
21+
public static ItemStack STACK_FORBIDDEN=new ItemStack(Items.BARRIER,1);
2122
public static void init(){
2223
Debug.info("Bukkit ItemStack Utils enabled");
2324
}

src/main/java/me/matl114/hacks/modules/combat/AttackArua.java

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -57,38 +57,41 @@ public void registerAll() {
5757

5858
public void onTick(Event<ClientPlayerEntity> tickEvent){
5959
if(mc.player == null)return;
60-
Attack attack = CombatTasks.getAttack();
61-
boolean holdingWeapon = CombatTasks.isHoldingWeapon(mc.player);
62-
//force consider attack interval legal mode
63-
if(attack.legalMode.get()){
64-
if(++interval <= 2){
65-
return;
60+
if(enable.get()){
61+
Attack attack = CombatTasks.getAttack();
62+
boolean holdingWeapon = CombatTasks.isHoldingWeapon(mc.player);
63+
//force consider attack interval legal mode
64+
if(attack.legalMode.get()){
65+
if(++interval <= 2){
66+
return;
67+
}
6668
}
67-
}
68-
interval = 0;
69-
if(attack.legalMode.get() || ((holdingWeapon && cooldownWeapon.get()) ||(!holdingWeapon && cooldownHand.get()))){
70-
//do not attack because of legal mode
69+
interval = 0;
70+
if(attack.legalMode.get() || ((holdingWeapon && cooldownWeapon.get()) ||(!holdingWeapon && cooldownHand.get()))){
71+
//do not attack because of legal mode
7172

72-
if(mc.player.getAttackCooldownProgress(0.5F) > 0.98){
73-
//ready for attack
74-
//force attack
75-
//十分之七的概率当前攻击, 以此制作概率性的攻击时延
76-
if(timeRandom.nextInt(10) > 6){
77-
attack.tryAttack(true);
73+
if(mc.player.getAttackCooldownProgress(0.5F) > 0.98){
74+
//ready for attack
75+
//force attack
76+
//十分之七的概率当前攻击, 以此制作概率性的攻击时延
77+
if(timeRandom.nextInt(10) > 6){
78+
attack.tryAttack(true);
79+
}
7880
}
79-
}
80-
}else{
81-
//attack! attack! attack!
82-
List<Entity> targets = attack.getCurrentRangeEntities();
83-
int max = maxTargetPerTick.get();
84-
if(!targets.isEmpty()) {
85-
for (Entity target : targets) {
86-
if(attack.attackEntity(target))break;
87-
if( -- max <= 0){
88-
return;
81+
}else{
82+
//attack! attack! attack!
83+
List<Entity> targets = attack.getCurrentRangeEntities();
84+
int max = maxTargetPerTick.get();
85+
if(!targets.isEmpty()) {
86+
for (Entity target : targets) {
87+
if(attack.attackEntity(target))break;
88+
if( -- max <= 0){
89+
return;
90+
}
8991
}
9092
}
9193
}
9294
}
95+
9396
}
9497
}

src/main/java/me/matl114/hacks/modules/mine/MineBot.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ public boolean checkToolDurability(boolean instaMine){
187187
}
188188
durabilityLimit = (durMultiply * (instaMine ? maxInstaMine.get() : 2)) / multiply;
189189
}else{
190-
durabilityLimit = 0;
190+
// it is not a tool
191+
return true;
191192
}
192193
int max = Math.max(minDurLimit , durabilityLimit);
193194
if(!item.isEmpty() && item.getDamage() > item.getMaxDamage() - max){

src/main/java/me/matl114/hacks/modules/models/StorageDisplay.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,12 +85,17 @@ public static class ItemStackWithTimeStamp{
8585
private final Map<ItemStack, ItemStackWithTimeStamp> storageItemStackCache = new Object2ReferenceOpenCustomHashMap<>(new Hash.Strategy<ItemStack>() {
8686
@Override
8787
public int hashCode(ItemStack o) {
88-
return ItemStack.hashCode(o);
88+
return o != null ? ItemStack.hashCode(o) : 0;
8989
}
9090

9191
@Override
9292
public boolean equals(ItemStack a, ItemStack b) {
93-
return ItemStack.areItemsAndComponentsEqual(a, b);
93+
if(a != null && b != null){
94+
return ItemStack.areItemsAndComponentsEqual(a, b);
95+
}else{
96+
return a == b;
97+
}
98+
9499
}
95100
});
96101
private final long updateIntervalMs = 1000;
@@ -106,6 +111,7 @@ public void onContainerPluginStorage(Event<ItemStack> event) {
106111
ItemStackWithTimeStamp timeStamp = storageItemStackCache.get(stack);
107112
if(timeStamp == null || timeStamp.lastUpdated < System.currentTimeMillis() - updateIntervalMs){
108113
BukkitItemStack stored;
114+
109115
if((stored=getNetworkStoraged(tag))!=null){
110116

111117
}

src/main/java/me/matl114/hacks/modules/move/CreativeFlight.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,13 @@ public CreativeFlight() {
4343
}
4444
instance.setDelegate(this::cast);
4545
}
46-
public final FlagRef canFly = builder(Configs.TOGGLE_CONFIG, Boolean.class)
47-
.path(TOGGLE_FLIGHT)
46+
public final FlagRef canFly = toggle(TOGGLE_FLIGHT)
4847
.defaultValue(false)
4948
.build();
5049

50+
public final KeyBindRef keybind = toggleHotkey(TOGGLE_FLIGHT, new MultiKeyBind(KeyCode.KEY_LEFT_CONTROL, KeyCode.KEY_F))
51+
.build();
52+
5153
public final FlagRef doAntiKick = builder(Configs.MOV_CONFIG
5254
,Boolean.class)
5355
.path(MOVE_FLIGHT_ANTIKICK)
@@ -71,8 +73,7 @@ public CreativeFlight() {
7173
.defaultValue(0.4)
7274
.build();
7375

74-
public final KeyBindRef overridingSpeedKeybind = builder(Configs.MOV_CONFIG, MultiKeyBind.class)
75-
.path(MOVE_SPEED_OVERRIDE_TASK)
76+
public final KeyBindRef overridingSpeedKeybind = hotkey(MOVE_SPEED_OVERRIDE_TASK)
7677
.defaultValue(new MultiKeyBind(KeyCode.KEY_LEFT_CONTROL,KeyCode.KEY_LEFT_BRACKET))
7778
.registerHotkey(HotKeyUtils.wrapAsHandler(this::toggleSpeed))
7879
.build();

src/main/java/me/matl114/hacks/modules/move/StepHeight.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void applyBeforeMovementPacketModify(Event<LegalMovementManager> movement
126126
// }
127127

128128
if(isActive()){
129-
if(toggleRunning ){
129+
if(toggleRunning){
130130
//5刻后达到最高点
131131
runTicks += 1;
132132
if(runTicks >= ticksEnd){

src/main/java/me/matl114/hacks/modules/render/RenderExtra.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ private void parseEffects(String regex){
7070
public final StringRef noEffectTypes = builder(Configs.RENDER_CONFIG, RENDER_NO_EFFECT_TYPES, String.class)
7171
.defaultValue("^(blindness|darkness|nausea)$")
7272
.validator(Configs.REGEX_VALIDATOR)
73+
.updateListener(this::parseEffects)
7374
.build();
7475

7576

src/main/java/me/matl114/hacks/modules/slimefun/RecipeDatabase.java

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -389,15 +389,19 @@ public Set<MultiBlockEntry> getPotentialMultiBlocks(Block block){
389389
public static record CraftingType(String id, ItemStackDataWithAmount icon){
390390
public static final CraftingType EMPTY = new CraftingType("NULL", new ItemStackDataWithAmount(ItemStackData.wrapCopy(ITEM_NULL_TYPE), 1));
391391

392+
private CraftingType(Optional<String> id, Optional<ItemStackDataWithAmount> con){
393+
this(id.orElse(""), con.orElse(ItemStackDataWithAmount.EMPTY));
394+
}
395+
392396
public ItemStack iconStack(){
393397
return icon.getAsItemStack();
394398
}
395399

396400

397401
public static Codec<CraftingType> CODEC = RecordCodecBuilder.create(
398402
instance -> instance.group(
399-
Codec.STRING.fieldOf("rid").forGetter(CraftingType::id),
400-
InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC.fieldOf("icon").forGetter(CraftingType::icon)
403+
Codec.STRING.optionalFieldOf("rid").forGetter(v -> Optional.of(v.id())),
404+
InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC.optionalFieldOf("icon").forGetter(v -> Optional.of(v.icon()))
401405
).apply(instance, CraftingType::new)
402406
);
403407
}
@@ -418,6 +422,10 @@ public ItemStackDataWithAmount getOutputData(){
418422
final ItemStack[] finalizedIngredients;
419423
final ItemStack finalizedOutput;
420424

425+
private SlimefunRecipeEntry(Optional<String> rid, Optional<String> id, Optional<List<ItemStackDataWithAmount>> ingredientEntry, Optional<ItemStackDataWithAmount> output){
426+
this(rid.orElse(""), id.orElse(""), ingredientEntry.orElseGet(List::of), output.orElse(ItemStackDataWithAmount.EMPTY));
427+
}
428+
421429
public SlimefunRecipeEntry(String rid, String id, List<ItemStackDataWithAmount> ingredientEntry, @NonNull ItemStackDataWithAmount output){
422430
this.rid = rid;
423431
this.id = id;
@@ -432,7 +440,6 @@ public SlimefunRecipeEntry(String rid, String id, List<ItemStackDataWithAmount>
432440
finalizedIngredients = itemStacks;
433441
this.output = output;
434442
this.finalizedOutput = output.getAsItemStack();
435-
436443
}
437444

438445

@@ -463,10 +470,10 @@ public String toString() {
463470

464471
public static final Codec<SlimefunRecipeEntry> CODEC = RecordCodecBuilder.create(
465472
instance -> instance.group(
466-
Codec.STRING.fieldOf("rid").forGetter(SlimefunRecipeEntry::rid),
467-
Codec.STRING.fieldOf("id").forGetter(SlimefunRecipeEntry::id),
468-
Codec.list(InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC).fieldOf("ingredient").forGetter(SlimefunRecipeEntry::getIngredientData),
469-
InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC.fieldOf("output").forGetter(SlimefunRecipeEntry::getOutputData)
473+
Codec.STRING.optionalFieldOf("rid").forGetter(v -> Optional.of(v.rid())),
474+
Codec.STRING.optionalFieldOf("id").forGetter(v -> Optional.of(v.id())),
475+
Codec.list(InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC).optionalFieldOf("ingredient").forGetter(v -> Optional.of(v.getIngredientData())),
476+
InvTasks.CUSTOM_AMOUNT_ITEM_DATA_CODEC.optionalFieldOf("output").forGetter(v -> Optional.of(v.getOutputData()))
470477
).apply(instance, SlimefunRecipeEntry::new)
471478
);
472479
}

0 commit comments

Comments
 (0)