Skip to content

Commit 9dec137

Browse files
authored
Merge pull request #38 from fantasyorg/master
feat(meta): add TntMeta class and register in MetaConverterRegistry
2 parents fe61616 + 3d803fd commit 9dec137

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

api/src/main/java/me/tofaa/entitylib/meta/MetaConverterRegistry.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ final class MetaConverterRegistry {
154154
put(TADPOLE, LivingEntityMeta.class, LivingEntityMeta::new); // TODO: Implement
155155
put(TEXT_DISPLAY, TextDisplayMeta.class, TextDisplayMeta::new);
156156
put(THROWN_EXP_BOTTLE, ThrownExpBottleMeta.class, ThrownExpBottleMeta::new);
157+
put(TNT, TntMeta.class, TntMeta::new);
157158
put(TNT_MINECART, TntMinecartMeta.class, TntMinecartMeta::new);
158159
put(TRADER_LLAMA, TraderLlamaMeta.class, TraderLlamaMeta::new);
159160
put(TRIDENT, ThrownTridentMeta.class, ThrownTridentMeta::new);
@@ -190,4 +191,4 @@ public Class<? extends EntityMeta> getMetaClass(EntityType entityType) {
190191
return converters.getOrDefault(entityType, EntityMeta::new);
191192
}
192193

193-
}
194+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package me.tofaa.entitylib.meta.other;
2+
3+
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
4+
import com.github.retrooper.packetevents.protocol.world.states.type.StateTypes;
5+
import me.tofaa.entitylib.meta.EntityMeta;
6+
import me.tofaa.entitylib.meta.Metadata;
7+
8+
public class TntMeta extends EntityMeta {
9+
public static final byte OFFSET = EntityMeta.MAX_OFFSET;
10+
public static final byte MAX_OFFSET = OFFSET + 2;
11+
12+
public TntMeta(int entityId, Metadata metadata) {
13+
super(entityId, metadata);
14+
}
15+
16+
public int getFuseTime() {
17+
return super.metadata.getIndex(OFFSET, 80);
18+
}
19+
20+
public void setFuseTime(int value) {
21+
super.metadata.setIndex(OFFSET, EntityDataTypes.INT, value);
22+
}
23+
24+
public int getBlockData() {
25+
return super.metadata.getIndex(offset(OFFSET, 1), StateTypes.TNT.createBlockState().getGlobalId());
26+
}
27+
28+
public void setBlockData(int blockData) {
29+
super.metadata.setIndex(offset(OFFSET, 1), EntityDataTypes.BLOCK_STATE, blockData);
30+
}
31+
}

0 commit comments

Comments
 (0)