Skip to content

Commit 9fe71c5

Browse files
committed
Merge remote-tracking branch 'origin/master' into five
2 parents 7ff199d + e49ac7c commit 9fe71c5

12 files changed

Lines changed: 87 additions & 140 deletions

File tree

build-logic/src/main/kotlin/buildlogic.common-java.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ plugins {
1010
}
1111

1212
crankcaseJava {
13-
javaRelease = 21
13+
javaRelease = 25
1414
disabledLints = listOf("processing", "path", "fallthrough", "serial", "overloads", "this-escape")
1515
disabledErrorprone = listOf(
1616
// We use reference equality intentionally in several places

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/cauldron/ImprovedCauldron.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,9 @@ public boolean performCauldron(Block block, CraftBookPlayer player) {
274274
return true;
275275
} else if (player != null) { // Spoons
276276
if (isItemSpoon(BukkitAdapter.adapt(player.getItemInHand(HandSide.MAIN_HAND).getType()))) {
277-
double chance = getSpoonChance(((BukkitCraftBookPlayer) player).getPlayer().getItemInHand(), recipe.getChance());
277+
double chance = getSpoonChance(((BukkitCraftBookPlayer) player).getPlayer().getInventory().getItemInMainHand(), recipe.getChance());
278278
double ran = ThreadLocalRandom.current().nextDouble();
279-
((BukkitCraftBookPlayer) player).getPlayer().getItemInHand().setDurability((short) (((BukkitCraftBookPlayer) player).getPlayer().getItemInHand().getDurability() - (short) 1));
279+
((BukkitCraftBookPlayer) player).getPlayer().getInventory().getItemInMainHand().setDurability((short) (((BukkitCraftBookPlayer) player).getPlayer().getInventory().getItemInMainHand().getDurability() - (short) 1));
280280
if (chance <= ran) {
281281
cook(block, recipe, items);
282282
player.print(player.translate("mech.cauldron.cook") + " " + ChatColor.AQUA + recipe.getName());

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/drops/CustomDrops.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,7 @@ public void onBlockBreak(BlockBreakEvent event) {
301301
boolean found = false;
302302

303303
for (ItemStack item : def.getItems()) {
304-
if (ItemUtil.areItemsIdentical(event.getPlayer().getItemInHand(), item)) {
304+
if (ItemUtil.areItemsIdentical(event.getPlayer().getInventory().getItemInMainHand(), item)) {
305305
found = true;
306306
break;
307307
}

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/ic/ICMechanic.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,11 @@ public void onBlockRedstoneChange(final SourcedBlockRedstoneEvent event) {
257257
}
258258
}
259259
if (cnt > 0) {
260-
((IC) icData[2]).trigger(chipState);
260+
IC ic = (IC) icData[2];
261+
ic.trigger(chipState);
262+
try {
263+
ic.getSign().update(false);
264+
} catch (Throwable ignored) {}
261265
}
262266
} catch (IllegalArgumentException ex) {
263267
// Exclude these exceptions so that we don't spam consoles because of Bukkit
@@ -327,10 +331,13 @@ public void onThink(SelfTriggerThinkEvent event) {
327331

328332
final Object[] icData = setupIC(event.getBlock(), true);
329333

330-
if (icData != null && icData[2] instanceof SelfTriggeredIC) {
334+
if (icData != null && icData[2] instanceof SelfTriggeredIC ic) {
331335
event.setHandled(true);
332336
ChipState chipState = ((ICFamily) icData[1]).detectSelfTriggered(BukkitAdapter.adapt(event.getBlock().getLocation()), ((IC) icData[2]).getSign());
333-
((SelfTriggeredIC) icData[2]).think(chipState);
337+
ic.think(chipState);
338+
try {
339+
ic.getSign().update(false);
340+
} catch (Throwable ignored) {}
334341
}
335342
}
336343

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/ic/gates/world/blocks/Pump.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import org.bukkit.Material;
1919
import org.bukkit.Server;
2020
import org.bukkit.block.Block;
21+
import org.bukkit.block.data.Levelled;
2122
import org.bukkit.inventory.InventoryHolder;
2223
import org.bukkit.inventory.ItemStack;
2324
import org.enginehub.craftbook.bukkit.BukkitChangedSign;
@@ -87,14 +88,15 @@ public boolean searchNear(InventoryHolder c, Block block, int depth) {
8788
}
8889

8990
public boolean check(InventoryHolder c, Block liquid, int depth) {
90-
91-
if (!liquid.isLiquid()) return false;
92-
if (liquid.getData() == 0x0) {
91+
if (!liquid.isLiquid() || !(liquid.getBlockData() instanceof Levelled levelled)) {
92+
return false;
93+
}
94+
if (levelled.getLevel() == 0x0) {
9395
if (addToChest(c, liquid)) {
9496
liquid.setType(Material.AIR);
9597
return true;
9698
}
97-
} else if (searchNear(c, liquid, depth + 1)) return true;
99+
} else return searchNear(c, liquid, depth + 1);
98100
return false;
99101
}
100102

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/ic/gates/world/entity/AdvancedEntitySpawner.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ else if (data[0].equalsIgnoreCase("r")) {
155155
try {
156156
String[] potionBits = RegexUtil.SEMICOLON_PATTERN.split(data[a]);
157157
PotionEffect effect = new PotionEffect(PotionEffectType.getById(Integer.parseInt(potionBits[0])), Integer.parseInt(potionBits[1]), Integer.parseInt(potionBits[2]));
158-
((LivingEntity) ent).addPotionEffect(effect, true);
158+
((LivingEntity) ent).addPotionEffect(effect);
159159
} catch (Exception ignored) {
160160
}
161161
}
@@ -173,7 +173,7 @@ else if (data[0].equalsIgnoreCase("r")) {
173173
if (!(ent instanceof LivingEntity)) continue;
174174

175175
ItemStack slot = ItemUtil.makeItemValid(ItemSyntax.getItem(bit.replace("s:", "")));
176-
((LivingEntity) ent).getEquipment().setItemInHand(slot);
176+
((LivingEntity) ent).getEquipment().setItemInMainHand(slot);
177177
}
178178
}
179179
if (upwards == null) {

craftbook-bukkit/src/main/java/org/enginehub/craftbook/mechanics/ic/gates/world/entity/CreatureSpawner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public void trigger(ChipState chip) {
103103
for (int i = 0; i < amount; i++) {
104104
Entity entity = loc.getWorld().spawn(loc, type.getEntityClass());
105105
if (entity instanceof Skeleton)
106-
((Skeleton) entity).getEquipment().setItemInHand(new ItemStack(Material.BOW, 1));
106+
((Skeleton) entity).getEquipment().setItemInMainHand(new ItemStack(Material.BOW, 1));
107107
EntityUtil.setEntityData(entity, data);
108108
}
109109
}

craftbook-bukkit/src/main/java/org/enginehub/craftbook/util/jinglenote/Instrument.java

Lines changed: 27 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
package org.enginehub.craftbook.util.jinglenote;
1717

1818
public enum Instrument {
19-
2019
BANJO,
2120
BASEDRUM,
2221
BASS,
@@ -32,43 +31,34 @@ public enum Instrument {
3231
IRON_XYLOPHONE,
3332
PLING,
3433
SNARE,
34+
TRUMPET,
35+
TRUMPET_DISTORTED,
36+
TROMBONE,
37+
TROMBONE_DISTORTED,
3538
XYLOPHONE;
3639

3740
public static Instrument toMCSound(byte instrument) {
38-
switch (instrument) {
39-
case 1:
40-
return Instrument.BASS;
41-
case 2:
42-
return Instrument.SNARE;
43-
case 3:
44-
return Instrument.HAT;
45-
case 4:
46-
return Instrument.BASEDRUM;
47-
case 5:
48-
return Instrument.GUITAR;
49-
case 6:
50-
return Instrument.BELL;
51-
case 7:
52-
return Instrument.CHIME;
53-
case 8:
54-
return Instrument.FLUTE;
55-
case 9:
56-
return Instrument.XYLOPHONE;
57-
case 10:
58-
return Instrument.PLING;
59-
case 11:
60-
return Instrument.BANJO;
61-
case 12:
62-
return Instrument.BIT;
63-
case 13:
64-
return Instrument.COW_BELL;
65-
case 14:
66-
return Instrument.DIDGERIDOO;
67-
case 15:
68-
return Instrument.IRON_XYLOPHONE;
69-
case 0:
70-
default:
71-
return Instrument.HARP;
72-
}
41+
return switch (instrument) {
42+
case 1 -> Instrument.BASS;
43+
case 2 -> Instrument.SNARE;
44+
case 3 -> Instrument.HAT;
45+
case 4 -> Instrument.BASEDRUM;
46+
case 5 -> Instrument.GUITAR;
47+
case 6 -> Instrument.BELL;
48+
case 7 -> Instrument.CHIME;
49+
case 8 -> Instrument.FLUTE;
50+
case 9 -> Instrument.XYLOPHONE;
51+
case 10 -> Instrument.PLING;
52+
case 11 -> Instrument.BANJO;
53+
case 12 -> Instrument.BIT;
54+
case 13 -> Instrument.COW_BELL;
55+
case 14 -> Instrument.DIDGERIDOO;
56+
case 15 -> Instrument.IRON_XYLOPHONE;
57+
case 16 -> Instrument.TRUMPET;
58+
case 17 -> Instrument.TRUMPET_DISTORTED;
59+
case 18 -> Instrument.TROMBONE;
60+
case 19 -> Instrument.TROMBONE_DISTORTED;
61+
default -> Instrument.HARP;
62+
};
7363
}
74-
}
64+
}

craftbook-bukkit/src/main/java/org/enginehub/craftbook/util/jinglenote/MidiJingleSequencer.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,22 +43,22 @@
4343
public final class MidiJingleSequencer implements JingleSequencer {
4444

4545
private static final byte[] instruments = {
46-
0, 0, 0, 0, 0, 0, 0, 11, // 0-7
47-
6, 6, 6, 6, 9, 9, 15, 11, // 8-15
48-
10, 5, 5, 10, 10, 10, 10, 10, // 16-23
46+
0, 0, 0, 0, 0, 0, 0,11, // 0-7
47+
6, 6, 6, 6, 9, 9,15,11, // 8-15
48+
10,5, 5,10,10,10,10,10, // 16-23
4949
5, 5, 5, 5, 5, 5, 5, 5, // 24-31
5050
1, 1, 1, 1, 1, 1, 1, 1, // 32-39
51-
0, 10, 10, 1, 0, 0, 0, 4, // 40-47
52-
0, 0, 0, 0, 8, 8, 8, 12, // 48-55
53-
8, 14, 14, 14, 14, 14, 8, 8, // 56-63
54-
8, 8, 8, 14, 14, 8, 8, 8, // 64-71
55-
8, 8, 8, 8, 14, 8, 8, 8, // 72-79
56-
8, 14, 8, 8, 5, 8, 12, 1, // 80-87
51+
0,10,10, 1, 0, 0, 0, 4, // 40-47
52+
0, 0, 0, 0, 8, 8, 8,12, // 48-55
53+
16,18,18,16,16,17,17,19, // 56-63
54+
18,18,18,18,8, 8, 8, 8, // 64-71
55+
8, 8, 8, 8,14, 8, 8, 8, // 72-79
56+
8,14, 8, 8, 5, 8,12, 1, // 80-87
5757
1, 0, 0, 8, 0, 0, 0, 0, // 88-95
58-
0, 0, 7, 0, 0, 0, 0, 12, // 96-103
59-
11, 11, 3, 3, 3, 14, 10, 6, // 104-111
58+
0, 0, 7, 0, 0, 0, 0,12, // 96-103
59+
11,11,3, 3, 3,14,10, 6, // 104-111
6060
6, 3, 3, 2, 2, 2, 6, 5, // 112-119
61-
1, 1, 1, 13, 13, 2, 4, 7, // 120-127
61+
1, 1, 1,13,13, 2, 4, 7, // 120-127
6262
};
6363

6464

craftbook-bukkit/src/main/java/org/enginehub/craftbook/util/jinglenote/bukkit/BukkitJingleNotePlayer.java

Lines changed: 23 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -51,80 +51,28 @@ public boolean isPlaying() {
5151

5252
}
5353

54-
private static Sound BANJO;
55-
private static Sound BIT;
56-
private static Sound COWBELL;
57-
private static Sound DIDGERIDOO;
58-
private static Sound IRON_XYLOPHONE;
59-
60-
static {
61-
try {
62-
for (Sound sound : Sound.class.getEnumConstants()) {
63-
switch (sound.name()) {
64-
case "BLOCK_NOTE_BLOCK_BANJO":
65-
BANJO = sound;
66-
break;
67-
case "BLOCK_NOTE_BLOCK_BIT":
68-
BIT = sound;
69-
break;
70-
case "BLOCK_NOTE_BLOCK_COW_BELL":
71-
COWBELL = sound;
72-
break;
73-
case "BLOCK_NOTE_BLOCK_DIDGERIDOO":
74-
DIDGERIDOO = sound;
75-
break;
76-
case "BLOCK_NOTE_BLOCK_IRON_XYLOPHONE":
77-
IRON_XYLOPHONE = sound;
78-
break;
79-
}
80-
}
81-
if (BANJO == null) {
82-
throw new RuntimeException();
83-
}
84-
} catch (Throwable t) {
85-
BANJO = Sound.BLOCK_NOTE_BLOCK_GUITAR;
86-
BIT = Sound.BLOCK_NOTE_BLOCK_PLING;
87-
COWBELL = Sound.BLOCK_NOTE_BLOCK_BELL;
88-
DIDGERIDOO = Sound.BLOCK_NOTE_BLOCK_BASS;
89-
IRON_XYLOPHONE = Sound.BLOCK_NOTE_BLOCK_XYLOPHONE;
90-
}
91-
}
92-
9354
private static Sound toSound(Instrument instrument) {
94-
switch (instrument) {
95-
case BASS:
96-
return Sound.BLOCK_NOTE_BLOCK_BASS;
97-
case SNARE:
98-
return Sound.BLOCK_NOTE_BLOCK_SNARE;
99-
case HAT:
100-
return Sound.BLOCK_NOTE_BLOCK_HAT;
101-
case BANJO:
102-
return BANJO;
103-
case BASEDRUM:
104-
return Sound.BLOCK_NOTE_BLOCK_BASEDRUM;
105-
case BELL:
106-
return Sound.BLOCK_NOTE_BLOCK_BELL;
107-
case BIT:
108-
return BIT;
109-
case CHIME:
110-
return Sound.BLOCK_NOTE_BLOCK_CHIME;
111-
case COW_BELL:
112-
return COWBELL;
113-
case DIDGERIDOO:
114-
return DIDGERIDOO;
115-
case FLUTE:
116-
return Sound.BLOCK_NOTE_BLOCK_FLUTE;
117-
case XYLOPHONE:
118-
return Sound.BLOCK_NOTE_BLOCK_XYLOPHONE;
119-
case IRON_XYLOPHONE:
120-
return IRON_XYLOPHONE;
121-
case PLING:
122-
return Sound.BLOCK_NOTE_BLOCK_PLING;
123-
case GUITAR:
124-
return Sound.BLOCK_NOTE_BLOCK_GUITAR;
125-
case HARP:
126-
default:
127-
return Sound.BLOCK_NOTE_BLOCK_HARP;
128-
}
55+
return switch (instrument) {
56+
case BASS -> Sound.BLOCK_NOTE_BLOCK_BASS;
57+
case SNARE -> Sound.BLOCK_NOTE_BLOCK_SNARE;
58+
case HAT -> Sound.BLOCK_NOTE_BLOCK_HAT;
59+
case BANJO -> Sound.BLOCK_NOTE_BLOCK_BANJO;
60+
case BASEDRUM -> Sound.BLOCK_NOTE_BLOCK_BASEDRUM;
61+
case BELL -> Sound.BLOCK_NOTE_BLOCK_BELL;
62+
case BIT -> Sound.BLOCK_NOTE_BLOCK_BIT;
63+
case CHIME -> Sound.BLOCK_NOTE_BLOCK_CHIME;
64+
case COW_BELL -> Sound.BLOCK_NOTE_BLOCK_COW_BELL;
65+
case DIDGERIDOO -> Sound.BLOCK_NOTE_BLOCK_DIDGERIDOO;
66+
case FLUTE -> Sound.BLOCK_NOTE_BLOCK_FLUTE;
67+
case XYLOPHONE -> Sound.BLOCK_NOTE_BLOCK_XYLOPHONE;
68+
case IRON_XYLOPHONE -> Sound.BLOCK_NOTE_BLOCK_IRON_XYLOPHONE;
69+
case PLING -> Sound.BLOCK_NOTE_BLOCK_PLING;
70+
case GUITAR -> Sound.BLOCK_NOTE_BLOCK_GUITAR;
71+
case TRUMPET -> Sound.BLOCK_NOTE_BLOCK_TRUMPET;
72+
case TRUMPET_DISTORTED -> Sound.BLOCK_NOTE_BLOCK_TRUMPET_EXPOSED;
73+
case TROMBONE -> Sound.BLOCK_NOTE_BLOCK_TRUMPET_OXIDIZED;
74+
case TROMBONE_DISTORTED -> Sound.BLOCK_NOTE_BLOCK_TRUMPET_WEATHERED;
75+
default -> Sound.BLOCK_NOTE_BLOCK_HARP;
76+
};
12977
}
130-
}
78+
}

0 commit comments

Comments
 (0)