Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jakllp committed Jul 15, 2024
2 parents ac07dff + 149d56c commit 0a3c650
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public void registerEntityTypes() {
DefaultedRegistry<EntityType<?>> entityRegistry = getRegistry(BuiltInRegistries.ENTITY_TYPE);
Field frozenDoBe = ReflectionUtil.getField(MappedRegistry.class,"l"); //frozen
Field intrusiveHolderCacheField = ReflectionUtil.getField(MappedRegistry.class,"m"); //intrusiveHolderCache or unregisteredIntrusiveHolders or intrusiveValueToEntry
MethodHandle ENTITY_REGISTRY_SETTER = ReflectionUtil.createStaticFinalSetter(BuiltInRegistries.class, "f"); //ENTITY_TYPE
MethodHandle ENTITY_REGISTRY_SETTER = ReflectionUtil.createStaticFinalSetter(BuiltInRegistries.class, "g"); //ENTITY_TYPE

if(custReg != null) {
//Gotta put the original Registry in. Just for a moment
Expand All @@ -137,12 +137,10 @@ public void registerEntityTypes() {
} catch (Throwable e) {
e.printStackTrace();
}
} else {
// Only need to do this with the vanilla registry
ReflectionUtil.setFinalFieldValue(intrusiveHolderCacheField, entityRegistry, new IdentityHashMap());
}
//We are now working with the Vanilla-Registry
ReflectionUtil.setFinalFieldValue(frozenDoBe, entityRegistry, false);
ReflectionUtil.setFinalFieldValue(intrusiveHolderCacheField, entityRegistry, new IdentityHashMap());

//Now lets handle the Bukkit-Registry
//First copy the old registrie's map into a new one:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import de.Keyle.MyPet.api.entity.EntitySize;
import de.Keyle.MyPet.api.entity.MyPet;
import de.Keyle.MyPet.api.entity.types.MyLlama;
import de.Keyle.MyPet.compat.v1_20_R4.CompatManager;
import de.Keyle.MyPet.compat.v1_20_R4.entity.EntityMyPet;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
Expand All @@ -37,21 +36,17 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.WoolCarpetBlock;
import org.bukkit.craftbukkit.v1_20_R4.inventory.CraftItemStack;

import java.lang.reflect.InvocationTargetException;

@EntitySize(width = 0.9F, height = 1.87F)
public class EntityMyLlama extends EntityMyPet {

private static final EntityDataAccessor<Boolean> AGE_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BOOLEAN);
private static final EntityDataAccessor<Byte> SADDLE_CHEST_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BYTE);
private static final EntityDataAccessor<Boolean> CHEST_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BOOLEAN);
private static final EntityDataAccessor<Integer> STRENGTH_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<Integer> COLOR_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
//private static final EntityDataAccessor<Integer> COLOR_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<Integer> VARIANT_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);

public EntityMyLlama(Level world, MyPet myPet) {
Expand Down Expand Up @@ -145,22 +140,22 @@ protected void defineSynchedData(SynchedEntityData.Builder builder) {
builder.define(SADDLE_CHEST_WATCHER, (byte) 0); // saddle & chest
builder.define(CHEST_WATCHER, false);
builder.define(STRENGTH_WATCHER, 0);
builder.define(COLOR_WATCHER, 0);
//builder.define(COLOR_WATCHER, 0);
builder.define(VARIANT_WATCHER, 0);
}

@Override
public void updateVisuals() {
this.getEntityData().set(CHEST_WATCHER, getMyPet().hasChest());
this.getEntityData().set(AGE_WATCHER, getMyPet().isBaby());
if (getMyPet().hasDecor()) {
/*if (getMyPet().hasDecor()) {
ItemStack is = CraftItemStack.asNMSCopy(getMyPet().getDecor());
Block block = Block.byItem(is.getItem());
int color = block instanceof WoolCarpetBlock ? ((WoolCarpetBlock) block).getColor().getId() : 0;
this.getEntityData().set(COLOR_WATCHER, color);
} else {
this.getEntityData().set(COLOR_WATCHER, -1);
}
}*/
this.getEntityData().set(VARIANT_WATCHER, getMyPet().getVariant());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import de.Keyle.MyPet.api.entity.EntitySize;
import de.Keyle.MyPet.api.entity.MyPet;
import de.Keyle.MyPet.api.entity.types.MyLlama;
import de.Keyle.MyPet.compat.v1_21_R1.CompatManager;
import de.Keyle.MyPet.compat.v1_21_R1.entity.EntityMyPet;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
Expand All @@ -37,21 +36,17 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.WoolCarpetBlock;
import org.bukkit.craftbukkit.v1_21_R1.inventory.CraftItemStack;

import java.lang.reflect.InvocationTargetException;

@EntitySize(width = 0.9F, height = 1.87F)
public class EntityMyLlama extends EntityMyPet {

private static final EntityDataAccessor<Boolean> AGE_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BOOLEAN);
private static final EntityDataAccessor<Byte> SADDLE_CHEST_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BYTE);
private static final EntityDataAccessor<Boolean> CHEST_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.BOOLEAN);
private static final EntityDataAccessor<Integer> STRENGTH_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<Integer> COLOR_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
//private static final EntityDataAccessor<Integer> COLOR_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);
private static final EntityDataAccessor<Integer> VARIANT_WATCHER = SynchedEntityData.defineId(EntityMyLlama.class, EntityDataSerializers.INT);

public EntityMyLlama(Level world, MyPet myPet) {
Expand Down Expand Up @@ -145,22 +140,22 @@ protected void defineSynchedData(SynchedEntityData.Builder builder) {
builder.define(SADDLE_CHEST_WATCHER, (byte) 0); // saddle & chest
builder.define(CHEST_WATCHER, false);
builder.define(STRENGTH_WATCHER, 0);
builder.define(COLOR_WATCHER, 0);
//builder.define(COLOR_WATCHER, 0);
builder.define(VARIANT_WATCHER, 0);
}

@Override
public void updateVisuals() {
this.getEntityData().set(CHEST_WATCHER, getMyPet().hasChest());
this.getEntityData().set(AGE_WATCHER, getMyPet().isBaby());
if (getMyPet().hasDecor()) {
/*if (getMyPet().hasDecor()) {
ItemStack is = CraftItemStack.asNMSCopy(getMyPet().getDecor());
Block block = Block.byItem(is.getItem());
int color = block instanceof WoolCarpetBlock ? ((WoolCarpetBlock) block).getColor().getId() : 0;
this.getEntityData().set(COLOR_WATCHER, color);
} else {
this.getEntityData().set(COLOR_WATCHER, -1);
}
}*/
this.getEntityData().set(VARIANT_WATCHER, getMyPet().getVariant());
}

Expand Down

0 comments on commit 0a3c650

Please sign in to comment.