Pre-datagen
This commit is contained in:
@@ -1,22 +1,28 @@
|
||||
package com.acethewildfire.acesbs.block.custom;
|
||||
|
||||
import com.acethewildfire.acesbs.AcesBS;
|
||||
import com.acethewildfire.acesbs.item.ModItems;
|
||||
import com.acethewildfire.acesbs.util.ModTags;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.ItemEntity;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.item.tooltip.TooltipType;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.sound.SoundCategory;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class EntropyBlock extends Block {
|
||||
@@ -35,14 +41,18 @@ public class EntropyBlock extends Block {
|
||||
@Override
|
||||
public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) {
|
||||
if (entity instanceof ItemEntity itemEntity){
|
||||
if(isValidItem(itemEntity.getStack())){
|
||||
int chance = r.nextInt(1,21); // 1-20
|
||||
int itemIndex = r.nextInt(1, Registries.ITEM.size()+1);
|
||||
|
||||
if (chance == 20) {
|
||||
itemEntity.setStack(new ItemStack(itemEntity.getStack().getItem(), itemEntity.getStack().getCount() - 1));
|
||||
if (chance == 20) {
|
||||
world.playSound(itemEntity, pos, SoundEvents.BLOCK_AMETHYST_BLOCK_CHIME, SoundCategory.BLOCKS, 10f, 1f);
|
||||
ItemEntity convItem = new ItemEntity(world, itemEntity.getX(), itemEntity.getY(), itemEntity.getZ(), new ItemStack(Registries.ITEM.get(Identifier.of(AcesBS.MOD_ID, "lemon")), 1));
|
||||
world.spawnEntity(convItem);
|
||||
} else {
|
||||
world.playSound(itemEntity, pos, SoundEvents.ITEM_FIRECHARGE_USE, SoundCategory.BLOCKS, 10f, 1f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,4 +64,15 @@ public class EntropyBlock extends Block {
|
||||
|
||||
super.onSteppedOn(world, pos, state, entity);
|
||||
}
|
||||
|
||||
private boolean isValidItem(ItemStack stack) {
|
||||
return stack.isIn(ModTags.Items.ENTROPY_CONVERTABLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendTooltip(ItemStack stack, Item.TooltipContext context, List<Text> tooltip, TooltipType options) {
|
||||
tooltip.add(Text.translatable("tooltip.acesbs.entropy_block.tooltip"));
|
||||
tooltip.add(Text.translatable("tooltip.acesbs.entropy_block.tooltip2"));
|
||||
super.appendTooltip(stack, context, tooltip, options);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,17 @@ import com.acethewildfire.acesbs.AcesBS;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.tooltip.TooltipType;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Direction.AxisDirection;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
public class StableEntropyBlock extends Block {
|
||||
@@ -30,4 +35,10 @@ public class StableEntropyBlock extends Block {
|
||||
|
||||
super.onSteppedOn(world, pos, state, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendTooltip(ItemStack stack, Item.TooltipContext context, List<Text> tooltip, TooltipType options) {
|
||||
tooltip.add(Text.translatable("tooltip.acesbs.stable_entropy_block.tooltip"));
|
||||
super.appendTooltip(stack, context, tooltip, options);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,17 +2,23 @@ package com.acethewildfire.acesbs.item;
|
||||
|
||||
import com.acethewildfire.acesbs.AcesBS;
|
||||
import com.acethewildfire.acesbs.item.custom.OracleLemon;
|
||||
import net.minecraft.client.gui.screen.Screen;
|
||||
import net.minecraft.component.DataComponentTypes;
|
||||
import net.minecraft.component.type.PotionContentsComponent;
|
||||
import net.minecraft.entity.effect.StatusEffectInstance;
|
||||
import net.minecraft.entity.effect.StatusEffects;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.tooltip.TooltipType;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.Registry;
|
||||
import net.minecraft.registry.entry.RegistryEntry;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ModItems {
|
||||
|
||||
private static final RegistryEntry<Potion> BLINDNESS = registerPotion("blindness", new Potion(new StatusEffectInstance(StatusEffects.BLINDNESS, 200)));
|
||||
@@ -21,7 +27,18 @@ public class ModItems {
|
||||
public static final Item STABLE_ENTROPY = registerItem("stable_entropy", new Item(new Item.Settings()));
|
||||
public static final Item LEMON = registerItem("lemon", new Item(new Item.Settings().food(ModFoodComponent.LEMON)));
|
||||
public static final Item COOKED_LEMON = registerItem("cooked_lemon", new Item(new Item.Settings().food(ModFoodComponent.COOKED_LEMON)));
|
||||
public static final Item GREEN_BRICKS = registerItem("green_bricks", new Item(new Item.Settings()));
|
||||
public static final Item GREEN_BRICKS = registerItem("green_bricks", new Item(new Item.Settings()) {
|
||||
@Override
|
||||
public void appendTooltip(ItemStack stack, TooltipContext context, List<Text> tooltip, TooltipType type) {
|
||||
if(Screen.hasShiftDown()){
|
||||
tooltip.add(Text.translatable("tooltip.acesbs.green_bricks.shift_down"));
|
||||
}
|
||||
else {
|
||||
tooltip.add(Text.translatable("tooltip.acesbs.green_bricks"));
|
||||
}
|
||||
super.appendTooltip(stack, context, tooltip, type);
|
||||
}
|
||||
});
|
||||
|
||||
private static Item registerItem(String name, Item item){
|
||||
return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item);
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.acethewildfire.acesbs.util;
|
||||
|
||||
import com.acethewildfire.acesbs.AcesBS;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.registry.RegistryKeys;
|
||||
import net.minecraft.registry.tag.TagKey;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class ModTags {
|
||||
public static class Blocks {
|
||||
private static TagKey<Block> createTag(String name){
|
||||
return TagKey.of(RegistryKeys.BLOCK, Identifier.of(AcesBS.MOD_ID, name));
|
||||
}
|
||||
}
|
||||
|
||||
public static class Items {
|
||||
public static final TagKey<Item> ENTROPY_CONVERTABLE = createTag("entropy_convertable");
|
||||
|
||||
private static TagKey<Item> createTag(String name){
|
||||
return TagKey.of(RegistryKeys.ITEM, Identifier.of(AcesBS.MOD_ID, name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,13 +5,22 @@
|
||||
"item.acesbs.lemon": "Odd Lemon",
|
||||
"item.acesbs.cooked_lemon": "Cooked Odd Lemon",
|
||||
"item.acesbs.green_bricks": "Green Bricks",
|
||||
|
||||
"item.minecraft.potion.effect.blindness": "Potion of Blindness",
|
||||
"item.minecraft.splash_potion.effect.blindness": "Splash Potion of Blindness",
|
||||
"item.minecraft.lingering_potion.effect.blindness": "Lingering Potion of Blindness",
|
||||
"item.minecraft.tipped_arrow.effect.blindness": "Arrow of Blindness",
|
||||
|
||||
"block.acesbs.entropy_block": "Block of Entropy",
|
||||
"block.acesbs.entropy_ore": "Entropic Ore",
|
||||
"block.acesbs.stable_entropy_block": "Block of Stabilized Entropy",
|
||||
|
||||
"itemgroup.acesbs.items": "Ace's BS Items",
|
||||
"itemgroup.acesbs.blocks": "Ace's BS Blocks"
|
||||
"itemgroup.acesbs.blocks": "Ace's BS Blocks",
|
||||
|
||||
"tooltip.acesbs.entropy_block.tooltip": "Exerts an §o§4uncertain force§r when stepped on.",
|
||||
"tooltip.acesbs.stable_entropy_block.tooltip": "Exerts an §o§2upward force§r when stepped on.",
|
||||
"tooltip.acesbs.green_bricks.shift_down": "§o§7Useless Item§r",
|
||||
"tooltip.acesbs.green_bricks": "Hold §eShift§r for item description.",
|
||||
"tooltip.acesbs.entropy_block.tooltip2": "Has a 1/20 chance of turning an apple into a lemon."
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"values": [
|
||||
"minecraft:apple"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user