Additional Debug Helpers
This commit is contained in:
parent
7739617dce
commit
543146d0c5
2 changed files with 112 additions and 141 deletions
|
@ -2,7 +2,6 @@ package org.betterx.betterend.registry;
|
||||||
|
|
||||||
import org.betterx.bclib.BCLib;
|
import org.betterx.bclib.BCLib;
|
||||||
import org.betterx.bclib.items.BaseArmorItem;
|
import org.betterx.bclib.items.BaseArmorItem;
|
||||||
import org.betterx.bclib.items.DebugDataItem;
|
|
||||||
import org.betterx.bclib.items.ModelProviderItem;
|
import org.betterx.bclib.items.ModelProviderItem;
|
||||||
import org.betterx.bclib.items.tool.BaseAxeItem;
|
import org.betterx.bclib.items.tool.BaseAxeItem;
|
||||||
import org.betterx.bclib.items.tool.BaseHoeItem;
|
import org.betterx.bclib.items.tool.BaseHoeItem;
|
||||||
|
@ -10,7 +9,6 @@ import org.betterx.bclib.items.tool.BaseShovelItem;
|
||||||
import org.betterx.bclib.items.tool.BaseSwordItem;
|
import org.betterx.bclib.items.tool.BaseSwordItem;
|
||||||
import org.betterx.bclib.registry.BaseRegistry;
|
import org.betterx.bclib.registry.BaseRegistry;
|
||||||
import org.betterx.bclib.registry.ItemRegistry;
|
import org.betterx.bclib.registry.ItemRegistry;
|
||||||
import org.betterx.bclib.util.BlocksHelper;
|
|
||||||
import org.betterx.betterend.BetterEnd;
|
import org.betterx.betterend.BetterEnd;
|
||||||
import org.betterx.betterend.config.Configs;
|
import org.betterx.betterend.config.Configs;
|
||||||
import org.betterx.betterend.item.*;
|
import org.betterx.betterend.item.*;
|
||||||
|
@ -18,13 +16,10 @@ import org.betterx.betterend.item.material.EndArmorMaterial;
|
||||||
import org.betterx.betterend.item.material.EndToolMaterial;
|
import org.betterx.betterend.item.material.EndToolMaterial;
|
||||||
import org.betterx.betterend.item.tool.EndHammerItem;
|
import org.betterx.betterend.item.tool.EndHammerItem;
|
||||||
import org.betterx.betterend.item.tool.EndPickaxe;
|
import org.betterx.betterend.item.tool.EndPickaxe;
|
||||||
import org.betterx.betterend.world.structures.village.VillagePools;
|
import org.betterx.betterend.util.DebugHelpers;
|
||||||
import org.betterx.datagen.betterend.recipes.EndChestLootTableProvider;
|
|
||||||
|
|
||||||
import net.minecraft.core.Holder;
|
import net.minecraft.core.Holder;
|
||||||
import net.minecraft.core.registries.BuiltInRegistries;
|
|
||||||
import net.minecraft.sounds.SoundEvent;
|
import net.minecraft.sounds.SoundEvent;
|
||||||
import net.minecraft.world.InteractionResult;
|
|
||||||
import net.minecraft.world.effect.MobEffectInstance;
|
import net.minecraft.world.effect.MobEffectInstance;
|
||||||
import net.minecraft.world.effect.MobEffects;
|
import net.minecraft.world.effect.MobEffects;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
|
@ -32,8 +27,6 @@ import net.minecraft.world.entity.Mob;
|
||||||
import net.minecraft.world.food.FoodProperties;
|
import net.minecraft.world.food.FoodProperties;
|
||||||
import net.minecraft.world.food.Foods;
|
import net.minecraft.world.food.Foods;
|
||||||
import net.minecraft.world.item.*;
|
import net.minecraft.world.item.*;
|
||||||
import net.minecraft.world.level.block.Blocks;
|
|
||||||
import net.minecraft.world.level.block.entity.StructureBlockEntity;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.jetbrains.annotations.ApiStatus;
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
@ -358,140 +351,10 @@ public class EndItems {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiStatus.Internal
|
@ApiStatus.Internal
|
||||||
public static void ensureStaticallyLoaded() {
|
public static void register() {
|
||||||
if (BCLib.isDevEnvironment()) {
|
if (BCLib.isDevEnvironment()) {
|
||||||
BetterEnd.LOGGER.warning("Generating Debug Helpers");
|
DebugHelpers.generateDebugItems();
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/village_loot",
|
|
||||||
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_LOOT, Items.IRON_INGOT)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/village_bonus",
|
|
||||||
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_BONUS_LOOT, Items.DIAMOND)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/village_template",
|
|
||||||
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_TEMPLATE_LOOT, Items.GOLD_INGOT)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_entrance",
|
|
||||||
DebugDataItem.forHouseEntranceJigSaw(BetterEnd.MOD_ID, null, Items.OAK_DOOR)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_street_entrance",
|
|
||||||
DebugDataItem.forHouseEntranceJigSaw(BetterEnd.MOD_ID, VillagePools.HOUSES_KEY, Items.IRON_DOOR)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_street",
|
|
||||||
DebugDataItem.forSteetJigSaw(
|
|
||||||
BetterEnd.MOD_ID,
|
|
||||||
VillagePools.STREET_KEY,
|
|
||||||
Items.ENDER_PEARL
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_street_deco",
|
|
||||||
DebugDataItem.forStreetDecorationJigSaw(
|
|
||||||
BetterEnd.MOD_ID,
|
|
||||||
VillagePools.STREET_DECO_KEY,
|
|
||||||
Items.ENDER_EYE
|
|
||||||
)
|
|
||||||
);
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_street_big_deco",
|
|
||||||
DebugDataItem.forDecorationJigSaw(
|
|
||||||
BetterEnd.MOD_ID,
|
|
||||||
VillagePools.DECORATIONS_KEY,
|
|
||||||
Items.SLIME_BALL
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_big_deco",
|
|
||||||
DebugDataItem.forDecorationJigSaw(
|
|
||||||
BetterEnd.MOD_ID,
|
|
||||||
null,
|
|
||||||
Items.TURTLE_HELMET
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/jigsaw_deco",
|
|
||||||
DebugDataItem.forStreetDecorationJigSaw(
|
|
||||||
BetterEnd.MOD_ID,
|
|
||||||
null,
|
|
||||||
Items.LANTERN
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/fill_base_void",
|
|
||||||
new DebugDataItem((player, entity, useOnContext) -> {
|
|
||||||
if (entity instanceof StructureBlockEntity e) {
|
|
||||||
final var level = useOnContext.getLevel();
|
|
||||||
final var offset = e.getStructurePos();
|
|
||||||
var size = e.getStructureSize();
|
|
||||||
var pos = useOnContext.getClickedPos().offset(offset);
|
|
||||||
|
|
||||||
for (int x = 0; x < size.getX(); x++) {
|
|
||||||
for (int y = 0; y < size.getY(); y++) {
|
|
||||||
for (int z = 0; z < size.getZ(); z++) {
|
|
||||||
var blockPos = pos.offset(x, y, z);
|
|
||||||
var state = level.getBlockState(blockPos);
|
|
||||||
if (state.is(Blocks.END_STONE)) {
|
|
||||||
level.setBlock(
|
|
||||||
blockPos,
|
|
||||||
Blocks.STRUCTURE_VOID.defaultBlockState(),
|
|
||||||
BlocksHelper.SET_SILENT
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return InteractionResult.SUCCESS;
|
|
||||||
}
|
|
||||||
return InteractionResult.FAIL;
|
|
||||||
}, false, BuiltInRegistries.ITEM.getKey(Items.WATER_BUCKET))
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
registerEndItem(
|
|
||||||
"debug/fill_air",
|
|
||||||
new DebugDataItem((player, entity, useOnContext) -> {
|
|
||||||
if (entity instanceof StructureBlockEntity e) {
|
|
||||||
final var level = useOnContext.getLevel();
|
|
||||||
final var offset = e.getStructurePos();
|
|
||||||
var size = e.getStructureSize();
|
|
||||||
var pos = useOnContext.getClickedPos().offset(offset);
|
|
||||||
|
|
||||||
for (int x = 0; x < size.getX(); x++) {
|
|
||||||
for (int y = 0; y < size.getY(); y++) {
|
|
||||||
for (int z = 0; z < size.getZ(); z++) {
|
|
||||||
var blockPos = pos.offset(x, y, z);
|
|
||||||
var state = level.getBlockState(blockPos);
|
|
||||||
if (state.isAir()) {
|
|
||||||
level.setBlock(
|
|
||||||
blockPos,
|
|
||||||
Blocks.STRUCTURE_VOID.defaultBlockState(),
|
|
||||||
BlocksHelper.SET_SILENT
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return InteractionResult.SUCCESS;
|
|
||||||
}
|
|
||||||
return InteractionResult.FAIL;
|
|
||||||
}, false, BuiltInRegistries.ITEM.getKey(Items.BUCKET))
|
|
||||||
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
108
src/main/java/org/betterx/betterend/util/DebugHelpers.java
Normal file
108
src/main/java/org/betterx/betterend/util/DebugHelpers.java
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
package org.betterx.betterend.util;
|
||||||
|
|
||||||
|
import org.betterx.bclib.items.DebugDataItem;
|
||||||
|
import org.betterx.betterend.BetterEnd;
|
||||||
|
import org.betterx.betterend.registry.EndItems;
|
||||||
|
import org.betterx.betterend.world.structures.village.VillagePools;
|
||||||
|
import org.betterx.datagen.betterend.recipes.EndChestLootTableProvider;
|
||||||
|
|
||||||
|
import net.minecraft.core.registries.BuiltInRegistries;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
|
|
||||||
|
public class DebugHelpers {
|
||||||
|
public static void generateDebugItems() {
|
||||||
|
BetterEnd.LOGGER.warning("Generating Debug Helpers");
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/village_loot",
|
||||||
|
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_LOOT, Items.IRON_INGOT)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/village_bonus",
|
||||||
|
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_BONUS_LOOT, Items.DIAMOND)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/village_template",
|
||||||
|
DebugDataItem.forLootTable(EndChestLootTableProvider.VILLAGE_TEMPLATE_LOOT, Items.GOLD_INGOT)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_entrance",
|
||||||
|
DebugDataItem.forHouseEntranceJigSaw(BetterEnd.MOD_ID, null, Items.OAK_DOOR)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_street_entrance",
|
||||||
|
DebugDataItem.forHouseEntranceJigSaw(BetterEnd.MOD_ID, VillagePools.HOUSES_KEY, Items.IRON_DOOR)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_street",
|
||||||
|
DebugDataItem.forSteetJigSaw(
|
||||||
|
BetterEnd.MOD_ID,
|
||||||
|
VillagePools.STREET_KEY,
|
||||||
|
Items.ENDER_PEARL
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_street_deco",
|
||||||
|
DebugDataItem.forStreetDecorationJigSaw(
|
||||||
|
BetterEnd.MOD_ID,
|
||||||
|
VillagePools.STREET_DECO_KEY,
|
||||||
|
Items.ENDER_EYE
|
||||||
|
)
|
||||||
|
);
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_street_big_deco",
|
||||||
|
DebugDataItem.forDecorationJigSaw(
|
||||||
|
BetterEnd.MOD_ID,
|
||||||
|
VillagePools.DECORATIONS_KEY,
|
||||||
|
Items.SLIME_BALL
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_big_deco",
|
||||||
|
DebugDataItem.forDecorationJigSaw(
|
||||||
|
BetterEnd.MOD_ID,
|
||||||
|
null,
|
||||||
|
Items.TURTLE_HELMET
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/jigsaw_deco",
|
||||||
|
DebugDataItem.forStreetDecorationJigSaw(
|
||||||
|
BetterEnd.MOD_ID,
|
||||||
|
null,
|
||||||
|
Items.LANTERN
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
EndItems.registerEndItem(
|
||||||
|
"debug/fill_base_void",
|
||||||
|
new DebugDataItem((player, entity, useOnContext) -> DebugDataItem.fillStructureEntityBounds(
|
||||||
|
useOnContext, entity,
|
||||||
|
state -> state.is(Blocks.END_STONE),
|
||||||
|
Blocks.STRUCTURE_VOID.defaultBlockState(),
|
||||||
|
false
|
||||||
|
), false, BuiltInRegistries.ITEM.getKey(Items.WATER_BUCKET))
|
||||||
|
);
|
||||||
|
|
||||||
|
Item item = EndItems.registerEndItem(
|
||||||
|
"debug/fill_air",
|
||||||
|
new DebugDataItem((player, entity, useOnContext) -> DebugDataItem.fillStructureEntityBounds(
|
||||||
|
useOnContext, entity,
|
||||||
|
state -> state.isAir() || state.is(Blocks.STRUCTURE_VOID),
|
||||||
|
Blocks.STRUCTURE_VOID.defaultBlockState(),
|
||||||
|
true
|
||||||
|
), false, BuiltInRegistries.ITEM.getKey(Items.BUCKET))
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue