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:
parent
f8adf3ec8a
commit
536a44f4e4
|
@ -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()
|
||||
);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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() {}
|
||||
}
|
|
@ -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
|
||||
|
|
|
@ -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() {}
|
||||
}
|
|
@ -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() {}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
99
src/main/java/me/theclashfruit/pissnshit/registry/Items.java
Normal file
99
src/main/java/me/theclashfruit/pissnshit/registry/Items.java
Normal 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);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue