1
0
Fork 0
mirror of https://github.com/TheClashFruit/CreatePissAndShit.git synced 2024-09-19 09:26:46 +00:00

refactor: some code cleanup

This commit is contained in:
TheClashFruit 2024-07-28 11:57:15 +02:00
parent f8adf3ec8a
commit 536a44f4e4
Signed by: TheClashFruit
GPG key ID: 09BB24C34C2F3204
9 changed files with 157 additions and 119 deletions

View file

@ -1,26 +1,19 @@
package me.theclashfruit.pissnshit;
import com.simibubi.create.Create;
import me.theclashfruit.pissnshit.blocks.ModBlocks;
import me.theclashfruit.pissnshit.fluid.ModFluids;
import me.theclashfruit.pissnshit.items.ModItems;
import me.theclashfruit.pissnshit.registry.Blocks;
import me.theclashfruit.pissnshit.registry.Fluids;
import me.theclashfruit.pissnshit.registry.Items;
import me.theclashfruit.pissnshit.registry.ItemGroups;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.gamerule.v1.GameRuleFactory;
import net.fabricmc.fabric.api.gamerule.v1.GameRuleRegistry;
import net.fabricmc.fabric.api.loot.v2.LootTableEvents;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.loot.LootPool;
import net.minecraft.loot.condition.RandomChanceLootCondition;
import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.function.SetCountLootFunction;
import net.minecraft.loot.provider.number.ConstantLootNumberProvider;
import net.minecraft.loot.provider.number.LootNumberProvider;
import net.minecraft.loot.provider.number.UniformLootNumberProvider;
import net.minecraft.potion.Potion;
import net.minecraft.potion.Potions;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import net.minecraft.world.GameRules;
import org.slf4j.Logger;
@ -36,10 +29,11 @@ public class PissAndShit implements ModInitializer {
public void onInitialize() {
LOGGER.info("I pissed & shat my pants! (Create Version: {})", Create.VERSION);
ModFluids.register();
ModItems.register();
ModBlocks.register();
ModGroups.register();
Fluids.init();
Items.init();
Blocks.init();
ItemGroups.init();
Identifier jungleTemple = new Identifier("minecraft", "chests/jungle_temple");
Identifier desertPyramid = new Identifier("minecraft", "chests/desert_pyramid");
@ -51,7 +45,7 @@ public class PissAndShit implements ModInitializer {
.builder()
.rolls(UniformLootNumberProvider.create(1, 8))
.conditionally(RandomChanceLootCondition.builder(1f))
.with(ItemEntry.builder(ModItems.SHIT))
.with(ItemEntry.builder(Items.SHIT))
.apply(SetCountLootFunction.builder(UniformLootNumberProvider.create(1f, 1f)).build())
.build()
);

View file

@ -1,7 +1,6 @@
package me.theclashfruit.pissnshit.client;
import me.theclashfruit.pissnshit.PissAndShit;
import me.theclashfruit.pissnshit.fluid.ModFluids;
import me.theclashfruit.pissnshit.registry.Fluids;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry;
@ -12,12 +11,12 @@ import net.minecraft.util.Identifier;
public class PissAndShitClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
FluidRenderHandlerRegistry.INSTANCE.register(ModFluids.STILL_PISS, ModFluids.FLOWING_PISS, new SimpleFluidRenderHandler(
FluidRenderHandlerRegistry.INSTANCE.register(Fluids.STILL_PISS, Fluids.FLOWING_PISS, new SimpleFluidRenderHandler(
new Identifier("minecraft:block/water_still"),
new Identifier("minecraft:block/water_flow"),
0xFCC603
));
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), ModFluids.STILL_PISS, ModFluids.FLOWING_PISS);
BlockRenderLayerMap.INSTANCE.putFluids(RenderLayer.getTranslucent(), Fluids.STILL_PISS, Fluids.FLOWING_PISS);
}
}

View file

@ -1,14 +0,0 @@
package me.theclashfruit.pissnshit.fluid;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
public class ModFluids {
public static PissFluid STILL_PISS = Registry.register(Registries.FLUID, new Identifier(MOD_ID, "piss"), new PissFluid.Still());
public static PissFluid FLOWING_PISS = Registry.register(Registries.FLUID, new Identifier(MOD_ID, "flowing_piss"), new PissFluid.Flowing());
public static void register() {}
}

View file

@ -1,8 +1,9 @@
package me.theclashfruit.pissnshit.fluid;
import me.theclashfruit.pissnshit.PissAndShit;
import me.theclashfruit.pissnshit.blocks.ModBlocks;
import me.theclashfruit.pissnshit.items.ModItems;
import me.theclashfruit.pissnshit.registry.Blocks;
import me.theclashfruit.pissnshit.registry.Items;
import me.theclashfruit.pissnshit.registry.Fluids;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
@ -26,12 +27,12 @@ public class PissFluid extends FlowableFluid {
@Override
public Fluid getFlowing() {
return ModFluids.FLOWING_PISS;
return Fluids.FLOWING_PISS;
}
@Override
public Fluid getStill() {
return ModFluids.STILL_PISS;
return Fluids.STILL_PISS;
}
@Override
@ -58,7 +59,7 @@ public class PissFluid extends FlowableFluid {
@Override
public Item getBucketItem() {
return ModItems.PISS_BUCKET;
return Items.PISS_BUCKET;
}
@Override
@ -78,7 +79,7 @@ public class PissFluid extends FlowableFluid {
@Override
protected BlockState toBlockState(FluidState state) {
return ModBlocks.PISS.getDefaultState().with(Properties.LEVEL_15, getBlockStateLevel(state));
return Blocks.PISS.getDefaultState().with(Properties.LEVEL_15, getBlockStateLevel(state));
}
@Override
@ -88,7 +89,7 @@ public class PissFluid extends FlowableFluid {
@Override
public boolean matchesType(Fluid fluid) {
return fluid == ModFluids.STILL_PISS || fluid == ModFluids.FLOWING_PISS;
return fluid == Fluids.STILL_PISS || fluid == Fluids.FLOWING_PISS;
}
@Override

View file

@ -1,60 +0,0 @@
package me.theclashfruit.pissnshit.items;
import me.theclashfruit.pissnshit.blocks.ModBlocks;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.*;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
import static me.theclashfruit.pissnshit.fluid.ModFluids.STILL_PISS;
public class ModItems {
public static Item PISS_BUCKET = Registry.register(Registries.ITEM, new Identifier(MOD_ID, "piss_bucket"), new BucketItem(STILL_PISS, new Item.Settings().recipeRemainder(Items.BUCKET).maxCount(1)));
public static final FoodComponent PISS_FOOD =
new FoodComponent
.Builder()
.statusEffect(
new StatusEffectInstance(StatusEffects.NAUSEA, 1200), 1
)
.saturationModifier(1.2f)
.alwaysEdible()
.build();
public static final FoodComponent SHIT_FOOD =
new FoodComponent
.Builder()
.statusEffect(
new StatusEffectInstance(StatusEffects.NAUSEA, 1200), 1
)
.statusEffect(
new StatusEffectInstance(StatusEffects.POISON, 1200), 1
)
.saturationModifier(2.5f)
.hunger(2)
.alwaysEdible()
.build();
public static PissBottle PISS_BOTTLE = Registry.register(
Registries.ITEM,
new Identifier(MOD_ID, "piss_bottle"),
new PissBottle(
new Item
.Settings()
.food(PISS_FOOD)
.maxCount(16)
)
);
public static Item SHIT = Registry.register(Registries.ITEM, new Identifier(MOD_ID, "shit"), new Item(new Item.Settings().food(SHIT_FOOD)));
public static Item HOLY_SHIT = Registry.register(Registries.ITEM, new Identifier(MOD_ID, "holy_shit"), new Item(new Item.Settings().rarity(Rarity.RARE)));
public static BlockItem SHIT_BLOCK = Registry.register(Registries.ITEM, new Identifier(MOD_ID, "shit_block"), new BlockItem(ModBlocks.SHIT_BLOCK, new Item.Settings()));
public static BlockItem SHIT_CANDLE = Registry.register(Registries.ITEM, new Identifier(MOD_ID, "shit_candle"), new ShitCandle(ModBlocks.SHIT_CANDLE, new Item.Settings()));
public static void register() {}
}

View file

@ -1,20 +1,21 @@
package me.theclashfruit.pissnshit.blocks;
package me.theclashfruit.pissnshit.registry;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.*;
import net.minecraft.block.piston.PistonBehavior;
import net.minecraft.fluid.FlowableFluid;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.Identifier;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
import static me.theclashfruit.pissnshit.fluid.ModFluids.STILL_PISS;
import static me.theclashfruit.pissnshit.registry.Fluids.STILL_PISS;
public class ModBlocks {
public static Block PISS = Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "piss"), new FluidBlock(STILL_PISS, FabricBlockSettings.copy(Blocks.WATER)){});
public class Blocks {
public static Block PISS = Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "piss"), new FluidBlock(((FlowableFluid) STILL_PISS), FabricBlockSettings.copy(net.minecraft.block.Blocks.WATER)){});
public static Block SHIT_BLOCK = Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "shit_block"), new Block(FabricBlockSettings.copy(Blocks.MUD)));
public static Block SHIT_BLOCK = Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "shit_block"), new Block(FabricBlockSettings.copy(net.minecraft.block.Blocks.MUD)));
public static CandleBlock SHIT_CANDLE = Registry.register(Registries.BLOCK, new Identifier(MOD_ID, "shit_candle"), new CandleBlock(AbstractBlock.Settings.create()
.mapColor(MapColor.BROWN)
@ -24,5 +25,5 @@ public class ModBlocks {
.luminance(CandleBlock.STATE_TO_LUMINANCE)
.pistonBehavior(PistonBehavior.DESTROY)));
public static void register() {}
public static void init() {}
}

View file

@ -0,0 +1,20 @@
package me.theclashfruit.pissnshit.registry;
import me.theclashfruit.pissnshit.fluid.PissFluid;
import net.minecraft.fluid.Fluid;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
public class Fluids {
public static Fluid STILL_PISS = register("piss", new PissFluid.Still());
public static Fluid FLOWING_PISS = register("flowing_piss", new PissFluid.Flowing());
public static void init() {}
private static Fluid register(String id, Fluid fluid) {
return Registry.register(Registries.FLUID, new Identifier(MOD_ID, id), fluid);
}
}

View file

@ -1,7 +1,5 @@
package me.theclashfruit.pissnshit;
package me.theclashfruit.pissnshit.registry;
import me.theclashfruit.pissnshit.blocks.ModBlocks;
import me.theclashfruit.pissnshit.items.ModItems;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
@ -12,25 +10,25 @@ import net.minecraft.util.Identifier;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
public class ModGroups {
public class ItemGroups {
public static final ItemGroup PISS_N_SHIT = FabricItemGroup.builder()
.icon(() -> new ItemStack(ModItems.PISS_BUCKET))
.icon(() -> new ItemStack(Items.PISS_BUCKET))
.displayName(Text.translatable("itemGroup.pissnshit.creative_tab"))
.entries((context, entries) -> {
// Piss
entries.add(ModItems.PISS_BUCKET);
entries.add(ModItems.PISS_BOTTLE);
entries.add(Items.PISS_BUCKET);
entries.add(Items.PISS_BOTTLE);
// Shit
entries.add(ModItems.SHIT);
entries.add(ModItems.HOLY_SHIT);
entries.add(Items.SHIT);
entries.add(Items.HOLY_SHIT);
entries.add(ModItems.SHIT_CANDLE);
entries.add(ModBlocks.SHIT_BLOCK);
entries.add(Items.SHIT_CANDLE);
entries.add(Blocks.SHIT_BLOCK);
})
.build();
public static void register() {
public static void init() {
Registry.register(Registries.ITEM_GROUP, new Identifier(MOD_ID, "creative_tab"), PISS_N_SHIT);
}
}

View file

@ -0,0 +1,99 @@
package me.theclashfruit.pissnshit.registry;
import me.theclashfruit.pissnshit.items.PissBottle;
import me.theclashfruit.pissnshit.items.ShitCandle;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.*;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import static me.theclashfruit.pissnshit.PissAndShit.MOD_ID;
import static me.theclashfruit.pissnshit.registry.Fluids.STILL_PISS;
public class Items {
public static final FoodComponent PISS_FOOD =
new FoodComponent
.Builder()
.statusEffect(
new StatusEffectInstance(StatusEffects.NAUSEA, 1200), 1
)
.saturationModifier(1.2f)
.alwaysEdible()
.build();
public static final FoodComponent SHIT_FOOD =
new FoodComponent
.Builder()
.statusEffect(
new StatusEffectInstance(StatusEffects.NAUSEA, 1200), 1
)
.statusEffect(
new StatusEffectInstance(StatusEffects.POISON, 1200), 1
)
.saturationModifier(2.5f)
.hunger(2)
.alwaysEdible()
.build();
public static Item PISS_BUCKET = register(
"piss_bucket",
new BucketItem(
STILL_PISS,
new Item
.Settings()
.recipeRemainder(net.minecraft.item.Items.BUCKET)
.maxCount(1)
)
);
public static Item PISS_BOTTLE = register(
"piss_bottle",
new PissBottle(
new Item
.Settings()
.food(PISS_FOOD)
.recipeRemainder(net.minecraft.item.Items.GLASS_BOTTLE)
.maxCount(16)
)
);
public static Item SHIT = register(
"shit",
new Item(
new Item
.Settings()
.food(SHIT_FOOD)
)
);
public static Item HOLY_SHIT = register(
"holy_shit",
new Item(
new Item
.Settings()
.rarity(Rarity.RARE)
)
);
public static Item SHIT_BLOCK = register(
"shit_block",
new BlockItem(
Blocks.SHIT_BLOCK,
new Item.Settings()
)
);
public static Item SHIT_CANDLE = register(
"shit_candle",
new ShitCandle(
Blocks.SHIT_CANDLE,
new Item.Settings()
)
);
public static void init() {}
private static Item register(String id, Item item) {
return Registry.register(Registries.ITEM, new Identifier(MOD_ID, id), item);
}
}