Skip to content

Commit

Permalink
Cleaned up canteen classes and prevented drinking from canteens when …
Browse files Browse the repository at this point in the history
…thirst is full
  • Loading branch information
Forstride committed Jan 4, 2024
1 parent ef1e2e7 commit e5cb080
Show file tree
Hide file tree
Showing 14 changed files with 285 additions and 1,126 deletions.
58 changes: 29 additions & 29 deletions common/src/main/java/toughasnails/init/ModItems.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,35 +42,35 @@ public static void registerItems(BiConsumer<ResourceLocation, Item> func)
TANItems.ICE_CREAM = register(func, "ice_cream", new StackableBowlFoodItem(new Item.Properties().stacksTo(16).food(new FoodProperties.Builder().nutrition(0).saturationMod(0.0F).alwaysEat().build())));
TANItems.CHARC_0S = register(func, "charc_os", new StackableBowlFoodItem(new Item.Properties().stacksTo(16).food(new FoodProperties.Builder().nutrition(0).saturationMod(0.0F).alwaysEat().build())));

TANItems.EMPTY_LEATHER_CANTEEN = register(func, "empty_leather_canteen", new EmptyLeatherCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.LEATHER_DIRTY_WATER_CANTEEN = register(func, "leather_dirty_water_canteen", new FilledLeatherCanteenItem((new Item.Properties()).durability(5)));
TANItems.LEATHER_WATER_CANTEEN = register(func, "leather_water_canteen", new FilledLeatherCanteenItem((new Item.Properties()).durability(5)));
TANItems.LEATHER_PURIFIED_WATER_CANTEEN = register(func, "leather_purified_water_canteen", new FilledLeatherCanteenItem((new Item.Properties()).durability(5)));

TANItems.EMPTY_COPPER_CANTEEN = register(func, "empty_copper_canteen", new EmptyCopperCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.COPPER_DIRTY_WATER_CANTEEN = register(func, "copper_dirty_water_canteen", new FilledCopperCanteenItem((new Item.Properties()).durability(6)));
TANItems.COPPER_WATER_CANTEEN = register(func, "copper_water_canteen", new FilledCopperCanteenItem((new Item.Properties()).durability(6)));
TANItems.COPPER_PURIFIED_WATER_CANTEEN = register(func, "copper_purified_water_canteen", new FilledCopperCanteenItem((new Item.Properties()).durability(6)));

TANItems.EMPTY_IRON_CANTEEN = register(func, "empty_iron_canteen", new EmptyIronCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.IRON_DIRTY_WATER_CANTEEN = register(func, "iron_dirty_water_canteen", new FilledIronCanteenItem((new Item.Properties()).durability(7)));
TANItems.IRON_WATER_CANTEEN = register(func, "iron_water_canteen", new FilledIronCanteenItem((new Item.Properties()).durability(7)));
TANItems.IRON_PURIFIED_WATER_CANTEEN = register(func, "iron_purified_water_canteen", new FilledIronCanteenItem((new Item.Properties()).durability(7)));

TANItems.EMPTY_GOLD_CANTEEN = register(func, "empty_gold_canteen", new EmptyGoldCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.GOLD_DIRTY_WATER_CANTEEN = register(func, "gold_dirty_water_canteen", new FilledGoldCanteenItem((new Item.Properties()).durability(10)));
TANItems.GOLD_WATER_CANTEEN = register(func, "gold_water_canteen", new FilledGoldCanteenItem((new Item.Properties()).durability(10)));
TANItems.GOLD_PURIFIED_WATER_CANTEEN = register(func, "gold_purified_water_canteen", new FilledGoldCanteenItem((new Item.Properties()).durability(10)));

TANItems.EMPTY_DIAMOND_CANTEEN = register(func, "empty_diamond_canteen", new EmptyDiamondCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.DIAMOND_DIRTY_WATER_CANTEEN = register(func, "diamond_dirty_water_canteen", new FilledDiamondCanteenItem((new Item.Properties()).durability(15)));
TANItems.DIAMOND_WATER_CANTEEN = register(func, "diamond_water_canteen", new FilledDiamondCanteenItem((new Item.Properties()).durability(15)));
TANItems.DIAMOND_PURIFIED_WATER_CANTEEN = register(func, "diamond_purified_water_canteen", new FilledDiamondCanteenItem((new Item.Properties()).durability(15)));

TANItems.EMPTY_NETHERITE_CANTEEN = register(func, "empty_netherite_canteen", new EmptyNetheriteCanteenItem((new Item.Properties()).stacksTo(1)));
TANItems.NETHERITE_DIRTY_WATER_CANTEEN = register(func, "netherite_dirty_water_canteen", new FilledNetheriteCanteenItem((new Item.Properties()).durability(25)));
TANItems.NETHERITE_WATER_CANTEEN = register(func, "netherite_water_canteen", new FilledNetheriteCanteenItem((new Item.Properties()).durability(25)));
TANItems.NETHERITE_PURIFIED_WATER_CANTEEN = register(func, "netherite_purified_water_canteen", new FilledNetheriteCanteenItem((new Item.Properties()).durability(25)));
TANItems.EMPTY_LEATHER_CANTEEN = register(func, "empty_leather_canteen", new EmptyCanteenItem(0, (new Item.Properties()).stacksTo(1)));
TANItems.LEATHER_DIRTY_WATER_CANTEEN = register(func, "leather_dirty_water_canteen", new FilledCanteenItem(0, (new Item.Properties()).durability(5)));
TANItems.LEATHER_WATER_CANTEEN = register(func, "leather_water_canteen", new FilledCanteenItem(0, (new Item.Properties()).durability(5)));
TANItems.LEATHER_PURIFIED_WATER_CANTEEN = register(func, "leather_purified_water_canteen", new FilledCanteenItem(0, (new Item.Properties()).durability(5)));

TANItems.EMPTY_COPPER_CANTEEN = register(func, "empty_copper_canteen", new EmptyCanteenItem(1, (new Item.Properties()).stacksTo(1)));
TANItems.COPPER_DIRTY_WATER_CANTEEN = register(func, "copper_dirty_water_canteen", new FilledCanteenItem(1, (new Item.Properties()).durability(6)));
TANItems.COPPER_WATER_CANTEEN = register(func, "copper_water_canteen", new FilledCanteenItem(1, (new Item.Properties()).durability(6)));
TANItems.COPPER_PURIFIED_WATER_CANTEEN = register(func, "copper_purified_water_canteen", new FilledCanteenItem(1, (new Item.Properties()).durability(6)));

TANItems.EMPTY_IRON_CANTEEN = register(func, "empty_iron_canteen", new EmptyCanteenItem(2, (new Item.Properties()).stacksTo(1)));
TANItems.IRON_DIRTY_WATER_CANTEEN = register(func, "iron_dirty_water_canteen", new FilledCanteenItem(2, (new Item.Properties()).durability(7)));
TANItems.IRON_WATER_CANTEEN = register(func, "iron_water_canteen", new FilledCanteenItem(2, (new Item.Properties()).durability(7)));
TANItems.IRON_PURIFIED_WATER_CANTEEN = register(func, "iron_purified_water_canteen", new FilledCanteenItem(2, (new Item.Properties()).durability(7)));

TANItems.EMPTY_GOLD_CANTEEN = register(func, "empty_gold_canteen", new EmptyCanteenItem(3, (new Item.Properties()).stacksTo(1)));
TANItems.GOLD_DIRTY_WATER_CANTEEN = register(func, "gold_dirty_water_canteen", new FilledCanteenItem(3, (new Item.Properties()).durability(10)));
TANItems.GOLD_WATER_CANTEEN = register(func, "gold_water_canteen", new FilledCanteenItem(3, (new Item.Properties()).durability(10)));
TANItems.GOLD_PURIFIED_WATER_CANTEEN = register(func, "gold_purified_water_canteen", new FilledCanteenItem(3, (new Item.Properties()).durability(10)));

TANItems.EMPTY_DIAMOND_CANTEEN = register(func, "empty_diamond_canteen", new EmptyCanteenItem(4, (new Item.Properties()).stacksTo(1)));
TANItems.DIAMOND_DIRTY_WATER_CANTEEN = register(func, "diamond_dirty_water_canteen", new FilledCanteenItem(4, (new Item.Properties()).durability(15)));
TANItems.DIAMOND_WATER_CANTEEN = register(func, "diamond_water_canteen", new FilledCanteenItem(4, (new Item.Properties()).durability(15)));
TANItems.DIAMOND_PURIFIED_WATER_CANTEEN = register(func, "diamond_purified_water_canteen", new FilledCanteenItem(4, (new Item.Properties()).durability(15)));

TANItems.EMPTY_NETHERITE_CANTEEN = register(func, "empty_netherite_canteen", new EmptyCanteenItem(5, (new Item.Properties()).stacksTo(1)));
TANItems.NETHERITE_DIRTY_WATER_CANTEEN = register(func, "netherite_dirty_water_canteen", new FilledCanteenItem(5, (new Item.Properties()).durability(25)));
TANItems.NETHERITE_WATER_CANTEEN = register(func, "netherite_water_canteen", new FilledCanteenItem(5, (new Item.Properties()).durability(25)));
TANItems.NETHERITE_PURIFIED_WATER_CANTEEN = register(func, "netherite_purified_water_canteen", new FilledCanteenItem(5, (new Item.Properties()).durability(25)));

TANItems.DIRTY_WATER_BOTTLE = register(func, "dirty_water_bottle", new DirtyWaterBottleItem((new Item.Properties()).stacksTo(1)));
TANItems.PURIFIED_WATER_BOTTLE = register(func, "purified_water_bottle", new PurifiedWaterBottleItem((new Item.Properties()).stacksTo(1)));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,14 @@
import toughasnails.block.RainCollectorBlock;
import toughasnails.init.ModTags;

public class EmptyLeatherCanteenItem extends Item
public class EmptyCanteenItem extends Item
{
public EmptyLeatherCanteenItem(Properties properties)
int tier;

public EmptyCanteenItem(int tier, Properties properties)
{
super(properties);
this.tier = tier;
}

@Override
Expand All @@ -57,7 +60,7 @@ public InteractionResultHolder<ItemStack> use(Level world, Player player, Intera
{
world.playSound(player, player.getX(), player.getY(), player.getZ(), SoundEvents.BOTTLE_FILL, SoundSource.NEUTRAL, 1.0F, 1.0F);
((RainCollectorBlock) TANBlocks.RAIN_COLLECTOR).setWaterLevel(world, pos, state, waterLevel - 1);
return InteractionResultHolder.success(this.replaceCanteen(stack, player, new ItemStack(TANItems.LEATHER_PURIFIED_WATER_CANTEEN)));
return InteractionResultHolder.success(this.replaceCanteen(stack, player, new ItemStack(getPurifiedWaterCanteen())));
}
}
else if (world.getFluidState(pos).is(FluidTags.WATER))
Expand All @@ -70,15 +73,15 @@ else if (world.getFluidState(pos).is(FluidTags.WATER))

if (biome.is(ModTags.Biomes.DIRTY_WATER_BIOMES))
{
canteenItem = TANItems.LEATHER_DIRTY_WATER_CANTEEN;
canteenItem = getDirtyWaterCanteen();
}
else if (biome.is(ModTags.Biomes.PURIFIED_WATER_BIOMES))
{
canteenItem = TANItems.LEATHER_PURIFIED_WATER_CANTEEN;
canteenItem = getPurifiedWaterCanteen();
}
else
{
canteenItem = TANItems.LEATHER_WATER_CANTEEN;
canteenItem = getWaterCanteen();
}

return InteractionResultHolder.sidedSuccess(this.replaceCanteen(stack, player, new ItemStack(canteenItem)), world.isClientSide());
Expand All @@ -94,4 +97,43 @@ protected ItemStack replaceCanteen(ItemStack oldStack, Player player, ItemStack
player.awardStat(Stats.ITEM_USED.get(this));
return ItemUtils.createFilledResult(oldStack, player, newStack);
}

public Item getDirtyWaterCanteen()
{
switch (this.tier)
{
default: case 0: return TANItems.LEATHER_DIRTY_WATER_CANTEEN;
case 1: return TANItems.COPPER_DIRTY_WATER_CANTEEN;
case 2: return TANItems.IRON_DIRTY_WATER_CANTEEN;
case 3: return TANItems.GOLD_DIRTY_WATER_CANTEEN;
case 4: return TANItems.DIAMOND_DIRTY_WATER_CANTEEN;
case 5: return TANItems.NETHERITE_DIRTY_WATER_CANTEEN;
}
}

public Item getWaterCanteen()
{
switch (this.tier)
{
default: case 0: return TANItems.LEATHER_WATER_CANTEEN;
case 1: return TANItems.COPPER_WATER_CANTEEN;
case 2: return TANItems.IRON_WATER_CANTEEN;
case 3: return TANItems.GOLD_WATER_CANTEEN;
case 4: return TANItems.DIAMOND_WATER_CANTEEN;
case 5: return TANItems.NETHERITE_WATER_CANTEEN;
}
}

public Item getPurifiedWaterCanteen()
{
switch (this.tier)
{
default: case 0: return TANItems.LEATHER_PURIFIED_WATER_CANTEEN;
case 1: return TANItems.COPPER_PURIFIED_WATER_CANTEEN;
case 2: return TANItems.IRON_PURIFIED_WATER_CANTEEN;
case 3: return TANItems.GOLD_PURIFIED_WATER_CANTEEN;
case 4: return TANItems.DIAMOND_PURIFIED_WATER_CANTEEN;
case 5: return TANItems.NETHERITE_PURIFIED_WATER_CANTEEN;
}
}
}
97 changes: 0 additions & 97 deletions common/src/main/java/toughasnails/item/EmptyCopperCanteenItem.java

This file was deleted.

Loading

0 comments on commit e5cb080

Please sign in to comment.