Skip to content

Commit f752bc6

Browse files
committed
0.0.20
Fix breaking animation blocks injected stuck in some cases #27
1 parent e390953 commit f752bc6

20 files changed

Lines changed: 70 additions & 61 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ Hack to inject blocks into the game blocks registry and change their texture on
1515
- Seems FastAsyncWorldEdit breaks because it caches the NMS Block data by iterating the Material class of Bukkit, which doesn't contain the injected custom blocks.
1616
There is no way to edit enums and push new ones, so this is fixable only by editing FAWE code.
1717
- WorldEdit //undo and //copy won't work with the injected custom blocks, they would be reverted back to NOTE_BLOCK (or mushroom, TRIPWIRE, CHORUS_PLANT)
18+
- Seems that it's not possible to intercept the tab complete of vanilla commands, so I cannot inject the autocompletion for the custom blocks.

itemsadder-blocks-injector-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>itemsadder-blocks-injector</artifactId>
77
<groupId>dev.lone</groupId>
8-
<version>0.0.19</version>
8+
<version>0.0.20</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

itemsadder-blocks-injector-core/src/main/java/dev/lone/blocksinjector/Main.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.comphenix.protocol.ProtocolLibrary;
44
import com.viaversion.viaversion.ViaVersionPlugin;
55
import dev.lone.blocksinjector.custom_blocks.nms.blocksmanager.CustomBlocksInjector;
6-
import dev.lone.blocksinjector.custom_blocks.nms.packetlistener.DigPacketListener;
6+
import dev.lone.blocksinjector.custom_blocks.nms.packetlistener.LegacyDigPacketListener;
77
import dev.lone.itemsadder.utils.Msg;
88
import org.bukkit.Bukkit;
99
import org.bukkit.event.Listener;
@@ -37,7 +37,27 @@ public void onLoad()
3737

3838
CustomBlocksInjector.inst.loadFromCache();
3939
CustomBlocksInjector.inst.registerListener();
40-
DigPacketListener.register();
40+
41+
if(isItemsAdderPre4_0_12())
42+
LegacyDigPacketListener.register();
43+
}
44+
45+
private boolean isItemsAdderPre4_0_12()
46+
{
47+
// Check if ItemsAdder version is lower than 4.0.12
48+
String itemsAdderVersion = Bukkit.getPluginManager().getPlugin("ItemsAdder").getDescription().getVersion();
49+
String[] versionParts = itemsAdderVersion.split("\\.");
50+
int major = Integer.parseInt(versionParts[0]);
51+
int minor = Integer.parseInt(versionParts[1]);
52+
int patch = 0;
53+
54+
if (versionParts.length > 2)
55+
{
56+
String patchStr = versionParts[2].split("[^0-9]")[0]; // Only the numeric part
57+
patch = Integer.parseInt(patchStr);
58+
}
59+
60+
return major < 4 || (major == 4 && minor == 0 && patch < 12);
4161
}
4262

4363
@Override
@@ -62,16 +82,4 @@ public void onDisable()
6282
{
6383
ProtocolLibrary.getProtocolManager().removePacketListeners(this);
6484
}
65-
66-
//TODO: Maybe it's worth adding custom blocks to the vanilla command? since they now will be correctly
67-
// resolved by the internal Minecract code.
68-
// Idk if it's actually useful.
69-
// @EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
70-
// private void tab(TabCompleteEvent e)
71-
// {
72-
// if(e.getBuffer().startsWith("/setblock"))
73-
// {
74-
//
75-
// }
76-
// }
7785
}

itemsadder-blocks-injector-core/src/main/java/dev/lone/blocksinjector/custom_blocks/nms/packetlistener/DigPacketListener.java renamed to itemsadder-blocks-injector-core/src/main/java/dev/lone/blocksinjector/custom_blocks/nms/packetlistener/LegacyDigPacketListener.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@
2121
*
2222
* This trick fixes it.
2323
*/
24-
public class DigPacketListener extends AbstractPacketListener
24+
public class LegacyDigPacketListener extends AbstractPacketListener
2525
{
2626
private static boolean registered;
2727

28-
public DigPacketListener()
28+
public LegacyDigPacketListener()
2929
{
3030
super(Main.inst, ListenerPriority.LOWEST, PacketType.Play.Client.BLOCK_DIG);
3131
}
@@ -34,7 +34,7 @@ public static void register()
3434
{
3535
if(registered)
3636
return;
37-
ProtocolLibrary.getProtocolManager().addPacketListener(new DigPacketListener());
37+
ProtocolLibrary.getProtocolManager().addPacketListener(new LegacyDigPacketListener());
3838
registered = true;
3939
}
4040

itemsadder-blocks-injector-core/src/main/resources/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: ItemsAdderBlocksInjector
2-
version: 0.0.19
2+
version: 0.0.20
33
main: dev.lone.blocksinjector.Main
44
api-version: 1.13
55
load: STARTUP

itemsadder-blocks-injector-jar/pom.xml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>itemsadder-blocks-injector</artifactId>
77
<groupId>dev.lone</groupId>
8-
<version>0.0.19</version>
8+
<version>0.0.20</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111
<artifactId>itemsadder-blocks-injector-jar</artifactId>
@@ -81,73 +81,73 @@
8181
<dependency>
8282
<groupId>dev.lone</groupId>
8383
<artifactId>itemsadder-blocks-injector-core</artifactId>
84-
<version>0.0.19</version>
84+
<version>0.0.20</version>
8585
</dependency>
8686

8787
<dependency>
8888
<groupId>dev.lone</groupId>
8989
<artifactId>nms_v1_21_7</artifactId>
90-
<version>0.0.19</version>
90+
<version>0.0.20</version>
9191
</dependency>
9292
<dependency>
9393
<groupId>dev.lone</groupId>
9494
<artifactId>nms_v1_21_6</artifactId>
95-
<version>0.0.19</version>
95+
<version>0.0.20</version>
9696
</dependency>
9797
<dependency>
9898
<groupId>dev.lone</groupId>
9999
<artifactId>nms_v1_21_5</artifactId>
100-
<version>0.0.19</version>
100+
<version>0.0.20</version>
101101
</dependency>
102102
<dependency>
103103
<groupId>dev.lone</groupId>
104104
<artifactId>nms_v1_21_4</artifactId>
105-
<version>0.0.19</version>
105+
<version>0.0.20</version>
106106
</dependency>
107107
<dependency>
108108
<groupId>dev.lone</groupId>
109109
<artifactId>nms_v1_21_1</artifactId>
110-
<version>0.0.19</version>
110+
<version>0.0.20</version>
111111
</dependency>
112112
<dependency>
113113
<groupId>dev.lone</groupId>
114114
<artifactId>nms_v1_20_6</artifactId>
115-
<version>0.0.19</version>
115+
<version>0.0.20</version>
116116
</dependency>
117117
<dependency>
118118
<groupId>dev.lone</groupId>
119119
<artifactId>nms_v1_20_R3</artifactId>
120-
<version>0.0.19</version>
120+
<version>0.0.20</version>
121121
</dependency>
122122
<dependency>
123123
<groupId>dev.lone</groupId>
124124
<artifactId>nms_v1_20_R2</artifactId>
125-
<version>0.0.19</version>
125+
<version>0.0.20</version>
126126
</dependency>
127127
<dependency>
128128
<groupId>dev.lone</groupId>
129129
<artifactId>nms_v1_20_R1</artifactId>
130-
<version>0.0.19</version>
130+
<version>0.0.20</version>
131131
</dependency>
132132
<dependency>
133133
<groupId>dev.lone</groupId>
134134
<artifactId>nms_v1_19_R3</artifactId>
135-
<version>0.0.19</version>
135+
<version>0.0.20</version>
136136
</dependency>
137137
<dependency>
138138
<groupId>dev.lone</groupId>
139139
<artifactId>nms_v1_19_R2</artifactId>
140-
<version>0.0.19</version>
140+
<version>0.0.20</version>
141141
</dependency>
142142
<dependency>
143143
<groupId>dev.lone</groupId>
144144
<artifactId>nms_v1_19_R1</artifactId>
145-
<version>0.0.19</version>
145+
<version>0.0.20</version>
146146
</dependency>
147147
<dependency>
148148
<groupId>dev.lone</groupId>
149149
<artifactId>nms_v1_18_R2</artifactId>
150-
<version>0.0.19</version>
150+
<version>0.0.20</version>
151151
</dependency>
152152

153153
</dependencies>

nms_v1_18_R2/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>dev.lone</groupId>
1212
<artifactId>itemsadder-blocks-injector</artifactId>
13-
<version>0.0.19</version>
13+
<version>0.0.20</version>
1414
</parent>
1515

1616
<build>
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>dev.lone</groupId>
4343
<artifactId>itemsadder-blocks-injector-core</artifactId>
44-
<version>0.0.19</version>
44+
<version>0.0.20</version>
4545
<scope>provided</scope>
4646
</dependency>
4747

nms_v1_19_R1/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>dev.lone</groupId>
1212
<artifactId>itemsadder-blocks-injector</artifactId>
13-
<version>0.0.19</version>
13+
<version>0.0.20</version>
1414
</parent>
1515

1616
<build>
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>dev.lone</groupId>
4343
<artifactId>itemsadder-blocks-injector-core</artifactId>
44-
<version>0.0.19</version>
44+
<version>0.0.20</version>
4545
<scope>provided</scope>
4646
</dependency>
4747

nms_v1_19_R2/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>dev.lone</groupId>
1212
<artifactId>itemsadder-blocks-injector</artifactId>
13-
<version>0.0.19</version>
13+
<version>0.0.20</version>
1414
</parent>
1515

1616
<build>
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>dev.lone</groupId>
4343
<artifactId>itemsadder-blocks-injector-core</artifactId>
44-
<version>0.0.19</version>
44+
<version>0.0.20</version>
4545
<scope>provided</scope>
4646
</dependency>
4747

nms_v1_19_R3/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>dev.lone</groupId>
1212
<artifactId>itemsadder-blocks-injector</artifactId>
13-
<version>0.0.19</version>
13+
<version>0.0.20</version>
1414
</parent>
1515

1616
<build>
@@ -41,7 +41,7 @@
4141
<dependency>
4242
<groupId>dev.lone</groupId>
4343
<artifactId>itemsadder-blocks-injector-core</artifactId>
44-
<version>0.0.19</version>
44+
<version>0.0.20</version>
4545
<scope>provided</scope>
4646
</dependency>
4747

0 commit comments

Comments
 (0)