Skip to content

Commit

Permalink
1.21 port fixes (#51)
Browse files Browse the repository at this point in the history
  • Loading branch information
BrokenK3yboard authored Sep 30, 2024
1 parent 79b994a commit 03d1f07
Show file tree
Hide file tree
Showing 19 changed files with 83 additions and 91 deletions.
2 changes: 1 addition & 1 deletion dependencies.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
neoforge=21.1.62
neoforge=21.1.63
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.function.BooleanSupplier;

import net.minecraft.advancements.AdvancementHolder;
import net.minecraft.core.Holder;
import org.violetmoon.zeta.Zeta;
import org.violetmoon.zeta.advancement.modifier.ASeedyPlaceModifier;
import org.violetmoon.zeta.advancement.modifier.AdventuringTimeModifier;
Expand Down Expand Up @@ -121,7 +122,7 @@ public IAdvancementModifier createBalancedDietMod(Set<ItemLike> items) {
}

@Override
public IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<MobEffect> effects) {
public IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<Holder<MobEffect>> effects) {
return new FuriousCocktailModifier(null, isPotion, effects);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,11 @@ public Set<ResourceLocation> getTargets() {

@Override
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {
for(var block : seeds) {
Criterion criterion = EnterBlockTrigger.TriggerInstance.entersBlock(block);

for(Block block : seeds) {
Criterion<EnterBlockTrigger.TriggerInstance> criterion = EnterBlockTrigger.TriggerInstance.entersBlock(block);
String name = BuiltInRegistries.BLOCK.getKey(block).toString();
adv.addOrCriterion(name, criterion);
}

return true;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,9 @@ public Set<ResourceLocation> getTargets() {
@Override
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {
ItemLike[] array = items.toArray(ItemLike[]::new);
Criterion criterion = ConsumeItemTrigger.TriggerInstance.usedItem(ItemPredicate.Builder.item().of(array));
Criterion<ConsumeItemTrigger.TriggerInstance> criterion = ConsumeItemTrigger.TriggerInstance.usedItem(ItemPredicate.Builder.item().of(array));
String name = BuiltInRegistries.ITEM.getKey(array[0].asItem()).toString();
adv.addRequiredCriterion(name, criterion);
return true;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import java.util.Set;
import java.util.function.BooleanSupplier;

import net.minecraft.advancements.critereon.MobEffectsPredicate;
import net.minecraft.core.Holder;
import org.violetmoon.zeta.advancement.AdvancementModifier;
import org.violetmoon.zeta.api.IMutableAdvancement;
import org.violetmoon.zeta.module.ZetaModule;
Expand All @@ -20,9 +22,9 @@ public class FuriousCocktailModifier extends AdvancementModifier {
private static final ResourceLocation TARGET_AE = ResourceLocation.withDefaultNamespace("nether/all_effects");

final BooleanSupplier isPotion;
final Set<MobEffect> effects;
final Set<Holder<MobEffect>> effects;

public FuriousCocktailModifier(ZetaModule module, BooleanSupplier isPotion, Set<MobEffect> effects) {
public FuriousCocktailModifier(ZetaModule module, BooleanSupplier isPotion, Set<Holder<MobEffect>> effects) {
super(module);

this.isPotion = isPotion;
Expand All @@ -36,20 +38,15 @@ public Set<ResourceLocation> getTargets() {

@Override
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {
if(!isPotion.getAsBoolean() && res.equals(TARGET_AP))
return false;
if (!isPotion.getAsBoolean() && res.equals(TARGET_AP)) return false;

Criterion crit = adv.getCriterion("all_effects");
if(crit != null && crit.triggerInstance() instanceof EffectsChangedTrigger.TriggerInstance ect) {

for(MobEffect e : effects)
ect.effects().and(e);


Criterion<?> crit = adv.getCriterion("all_effects");
if (crit != null && crit.triggerInstance() instanceof EffectsChangedTrigger.TriggerInstance ect && ect.effects().isPresent()) {
for(Holder<MobEffect> e : effects) {
ect.effects().get().effectMap().put(e, new MobEffectsPredicate.MobEffectInstancePredicate());
}
return true;
}

return false;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public Set<ResourceLocation> getTargets() {
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {

Block[] array = blocks.toArray(Block[]::new);
Criterion criterion = ItemUsedOnLocationTrigger.TriggerInstance.itemUsedOnBlock(
Criterion<ItemUsedOnLocationTrigger.TriggerInstance> criterion = ItemUsedOnLocationTrigger.TriggerInstance.itemUsedOnBlock(
LocationPredicate.Builder.location().setBlock(
BlockPredicate.Builder.block()
.of(array)),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public class MonsterHunterModifier extends AdvancementModifier {

public MonsterHunterModifier(ZetaModule module, Set<EntityType<?>> entityTypes) {
super(module);

this.entityTypes = entityTypes;
}

Expand All @@ -36,18 +35,16 @@ public Set<ResourceLocation> getTargets() {

@Override
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {
boolean all = res.equals(TARGET_ALL);

for(EntityType<?> type : entityTypes) {
Criterion criterion = KilledTrigger.TriggerInstance.playerKilledEntity(EntityPredicate.Builder.entity().entityType(EntityTypePredicate.of(type)));

Criterion<KilledTrigger.TriggerInstance> criterion = KilledTrigger.TriggerInstance.playerKilledEntity(EntityPredicate.Builder.entity().entityType(EntityTypePredicate.of(type)));
String name = BuiltInRegistries.ENTITY_TYPE.getKey(type).toString();
if(all)

if (res.equals(TARGET_ALL)) {
adv.addRequiredCriterion(name, criterion);
else adv.addOrCriterion(name, criterion);
} else {
adv.addOrCriterion(name, criterion);
}
}

return true;
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,11 @@ public Set<ResourceLocation> getTargets() {

@Override
public boolean apply(ResourceLocation res, IMutableAdvancement adv) {
for(EntityType<?> type : entityTypes) {
Criterion criterion = BredAnimalsTrigger.TriggerInstance
.bredAnimals(EntityPredicate.Builder.entity().entityType(EntityTypePredicate.of(type)));

for (EntityType<?> type : entityTypes) {
Criterion<BredAnimalsTrigger.TriggerInstance> criterion = BredAnimalsTrigger.TriggerInstance.bredAnimals(EntityPredicate.Builder.entity().entityType(EntityTypePredicate.of(type)));
String name = BuiltInRegistries.ENTITY_TYPE.getKey(type).toString();
adv.addRequiredCriterion(name, criterion);
}

return true;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.Set;
import java.util.function.BooleanSupplier;

import net.minecraft.core.Holder;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.effect.MobEffect;
import net.minecraft.world.entity.EntityType;
Expand All @@ -14,7 +15,7 @@
public interface IAdvancementModifierDelegate {
IAdvancementModifier createAdventuringTimeMod(Set<ResourceKey<Biome>> locations);
IAdvancementModifier createBalancedDietMod(Set<ItemLike> items);
IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<MobEffect> effects);
IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<Holder<MobEffect>> effects);
IAdvancementModifier createMonsterHunterMod(Set<EntityType<?>> types);
IAdvancementModifier createTwoByTwoMod(Set<EntityType<?>> types);
IAdvancementModifier createWaxOnWaxOffMod(Set<Block> unwaxed, Set<Block> waxed);
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/org/violetmoon/zeta/block/be/ZetaBlockEntity.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,20 +29,20 @@ public ZetaBlockEntity(BlockEntityType<?> tileEntityTypeIn, BlockPos pos, BlockS
@Override
protected void saveAdditional(CompoundTag tag, HolderLookup.Provider provider) {
super.saveAdditional(tag, provider);
writeSharedNBT(tag);
writeSharedNBT(tag, provider);
}

@Override
protected void loadAdditional(CompoundTag tag, HolderLookup.Provider provider) {
super.loadAdditional(tag, provider);
readSharedNBT(tag);
readSharedNBT(tag, provider);
}

public void writeSharedNBT(CompoundTag cmp) {
public void writeSharedNBT(CompoundTag cmp, HolderLookup.Provider provider) {
// NO-OP
}

public void readSharedNBT(CompoundTag cmp) {
public void readSharedNBT(CompoundTag cmp, HolderLookup.Provider provider) {
// NO-OP
}

Expand All @@ -55,13 +55,13 @@ public void sync() {
@Override
public CompoundTag getUpdateTag(HolderLookup.Provider provider) {
CompoundTag tag = new CompoundTag();
writeSharedNBT(tag);
writeSharedNBT(tag, provider);
return tag;
}

@Override
public void onDataPacket(Connection net, ClientboundBlockEntityDataPacket packet, HolderLookup.Provider provider) {
super.onDataPacket(net, packet, provider);
readSharedNBT(packet.getTag());
readSharedNBT(packet.getTag(), provider);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.Set;
import java.util.function.BooleanSupplier;

import net.minecraft.core.Holder;
import org.violetmoon.zeta.api.IAdvancementModifier;
import org.violetmoon.zeta.api.IAdvancementModifierDelegate;
import org.violetmoon.zeta.event.bus.IZetaLoadEvent;
Expand All @@ -26,7 +27,7 @@ default IAdvancementModifier createAdventuringTimeMod(Set<ResourceKey<Biome>> lo
default IAdvancementModifier createBalancedDietMod(Set<ItemLike> items) {
return getDelegate().createBalancedDietMod(items);
}
default IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<MobEffect> effects) {
default IAdvancementModifier createFuriousCocktailMod(BooleanSupplier isPotion, Set<Holder<MobEffect>> effects) {
return getDelegate().createFuriousCocktailMod(isPotion, effects);
}
default IAdvancementModifier createMonsterHunterMod(Set<EntityType<?>> types) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@

import net.minecraft.world.entity.Entity;

public interface ZEntityMobGriefing extends IZetaPlayEvent, Resultable {
public interface ZEntityMobGriefing extends IZetaPlayEvent {
Entity getEntity();
void setCanGrief(boolean canGrief);
boolean canGrief();
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,20 @@ public interface ZPlayerInteract extends IZetaPlayEvent, Cancellable {

interface EntityInteractSpecific extends ZPlayerInteract {
Entity getTarget();
void setCancellationResult(InteractionResult result);
}

interface EntityInteract extends ZPlayerInteract {
Entity getTarget();
void setCancellationResult(InteractionResult result);
}

interface RightClickBlock extends ZPlayerInteract { }
interface RightClickBlock extends ZPlayerInteract {
void setCancellationResult(InteractionResult result);
}

interface RightClickItem extends ZPlayerInteract {
ItemStack getItemStack();
void setCancellationResult(InteractionResult result);
}
}
5 changes: 3 additions & 2 deletions src/main/java/org/violetmoon/zeta/mod/ZetaMod.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package org.violetmoon.zeta.mod;

import net.neoforged.bus.api.IEventBus;
import org.violetmoon.zeta.Zeta;
import org.violetmoon.zeta.config.ZetaGeneralConfig;
import org.violetmoon.zeta.event.bus.LoadEvent;
Expand All @@ -11,11 +12,11 @@ public class ZetaMod {
public static Zeta ZETA;
public static ZetaModProxy proxy;

public static void start(Zeta zeta, ZetaModProxy proxy) {
public static void start(Zeta zeta, ZetaModProxy proxy, IEventBus bus) {
ZetaMod.ZETA = zeta;
ZetaMod.proxy = proxy;

ZETA.start();
ZETA.start(bus);
ZETA.loadModules(null, null, ZetaGeneralConfig.INSTANCE);

ZetaModInternalNetwork.init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,56 +12,37 @@

import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.HolderLookup;
import net.minecraft.core.NonNullList;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
import net.minecraft.world.ContainerHelper;
import net.minecraft.world.WorldlyContainer;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.state.BlockState;
import net.neoforged.neoforge.items.wrapper.SidedInvWrapper;
import org.jetbrains.annotations.NotNull;
import org.violetmoon.zeta.block.be.ZetaBlockEntity;

// formerly from AutoRegLib
public abstract class SimpleInventoryBlockEntity extends ZetaBlockEntity implements WorldlyContainer {

protected NonNullList<ItemStack> inventorySlots = NonNullList.withSize(getContainerSize(), ItemStack.EMPTY);

public SimpleInventoryBlockEntity(BlockEntityType<?> tileEntityTypeIn, BlockPos pos, BlockState state) {
super(tileEntityTypeIn, pos, state);
}

protected NonNullList<ItemStack> inventorySlots = NonNullList.withSize(getContainerSize(), ItemStack.EMPTY);

@Override
public void readSharedNBT(CompoundTag par1NBTTagCompound) {
if(!needsToSyncInventory())
return;

ListTag var2 = par1NBTTagCompound.getList("Items", 10);
clearContent();
for(int var3 = 0; var3 < var2.size(); ++var3) {
CompoundTag var4 = var2.getCompound(var3);
byte var5 = var4.getByte("Slot");
if(var5 >= 0 && var5 < inventorySlots.size())
inventorySlots.set(var5, ItemStack.of(var4));
}
public void readSharedNBT(CompoundTag tag, HolderLookup.Provider provider) {
if (!needsToSyncInventory()) return;
ContainerHelper.loadAllItems(tag, this.inventorySlots, provider);
}

@Override
public void writeSharedNBT(CompoundTag par1NBTTagCompound) {
if(!needsToSyncInventory())
return;

ListTag var2 = new ListTag();
for(int var3 = 0; var3 < inventorySlots.size(); ++var3) {
if(!inventorySlots.get(var3).isEmpty()) {
CompoundTag var4 = new CompoundTag();
var4.putByte("Slot", (byte) var3);
inventorySlots.get(var3).save(var4);
var2.add(var4);
}
}
par1NBTTagCompound.put("Items", var2);
public void writeSharedNBT(CompoundTag tag, HolderLookup.Provider provider) {
if (!needsToSyncInventory()) return;
ContainerHelper.saveAllItems(tag, this.inventorySlots, provider);
}

protected boolean needsToSyncInventory() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ public Entity getEntity() {
}

@Override
public boolean getResult() {
return true; //todo: FIX
public void setCanGrief(boolean canGrief) {
e.setCanGrief(canGrief);
}

@Override
public void setResult(ZResult value) {
e.setResult(ForgeZeta.to(value));
public boolean canGrief() {
return e.canGrief();
}
}
Loading

0 comments on commit 03d1f07

Please sign in to comment.