1.0.28
RelicCraft/pipeline/head This commit looks good Details

Fix Server Crash
This commit is contained in:
TheBrokenRail 2020-08-05 14:44:53 -04:00
parent b58f4b0809
commit d1f6af50af
4 changed files with 31 additions and 11 deletions

View File

@ -1,5 +1,8 @@
# Changelog
**1.0.28**
* Fix Server Crash
**1.0.27**
* Use DataTracker

View File

@ -10,7 +10,7 @@ org.gradle.jvmargs = -Xmx1G
fabric_loader_version = 0.8.8+build.202
# Mod Properties
mod_version = 1.0.27
mod_version = 1.0.28
maven_group = com.thebrokenrail
archives_base_name = reliccraft

View File

@ -2,6 +2,7 @@ package com.thebrokenrail.reliccraft.client;
import com.thebrokenrail.reliccraft.RelicCraft;
import com.thebrokenrail.reliccraft.client.entity.RelicEntityRenderer;
import com.thebrokenrail.reliccraft.item.DragonEggHolderBlockItem;
import com.thebrokenrail.reliccraft.item.RelicItem;
import com.thebrokenrail.reliccraft.packet.UpdateTimeDilationS2CPacket;
import net.fabricmc.api.ClientModInitializer;
@ -75,6 +76,8 @@ public class RelicCraftClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
DragonEggHolderBlockItem.initClient();
ColorProviderRegistry.ITEM.register((stack, tintIndex) -> tintIndex > 0 ? -1 : getStackColor(stack), RelicCraft.ORB_ITEM);
ColorProviderRegistry.ITEM.register((stack, tintIndex) -> tintIndex > 0 ? -1 : getStackColor(stack), RelicCraft.STAFF_ITEM);

View File

@ -2,6 +2,8 @@ package com.thebrokenrail.reliccraft.item;
import com.thebrokenrail.reliccraft.RelicCraft;
import com.thebrokenrail.reliccraft.mixin.ModelPredicateProviderRegistryHook;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.Block;
import net.minecraft.inventory.Inventories;
import net.minecraft.item.BlockItem;
@ -11,19 +13,31 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.collection.DefaultedList;
import java.util.ArrayList;
import java.util.List;
public class DragonEggHolderBlockItem extends BlockItem {
private static final List<DragonEggHolderBlockItem> list = new ArrayList<>();
public DragonEggHolderBlockItem(Block block) {
super(block, new Settings().rarity(Rarity.UNCOMMON).group(RelicCraft.ITEM_GROUP));
ModelPredicateProviderRegistryHook.callRegister(this, new Identifier(RelicCraft.NAMESPACE, "active"), (stack, world, entity) -> {
CompoundTag tag = stack.getSubTag("BlockEntityTag");
if (tag != null) {
DefaultedList<ItemStack> list = DefaultedList.ofSize(1, ItemStack.EMPTY);
Inventories.fromTag(tag, list);
if (!list.get(0).isEmpty()) {
return 1;
list.add(this);
}
@Environment(EnvType.CLIENT)
public static void initClient() {
for (DragonEggHolderBlockItem item : list) {
ModelPredicateProviderRegistryHook.callRegister(item, new Identifier(RelicCraft.NAMESPACE, "active"), (stack, world, entity) -> {
CompoundTag tag = stack.getSubTag("BlockEntityTag");
if (tag != null) {
DefaultedList<ItemStack> list = DefaultedList.ofSize(1, ItemStack.EMPTY);
Inventories.fromTag(tag, list);
if (!list.get(0).isEmpty()) {
return 1;
}
}
}
return 0;
});
return 0;
});
}
}
}