Skip to content

Commit 1872684

Browse files
authored
server/item: Add Copper tools, weapons, & armour (#1124)
1 parent 4f2d8cf commit 1872684

File tree

14 files changed

+48
-2
lines changed

14 files changed

+48
-2
lines changed

server/item/armour.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,15 @@ func (ArmourTierLeather) KnockBackResistance() float64 { return 0 }
6767
func (ArmourTierLeather) EnchantmentValue() int { return 15 }
6868
func (ArmourTierLeather) Name() string { return "leather" }
6969

70+
// ArmourTierCopper is the ArmourTier of copper armour.
71+
type ArmourTierCopper struct{}
72+
73+
func (ArmourTierCopper) BaseDurability() float64 { return 121 }
74+
func (ArmourTierCopper) Toughness() float64 { return 0 }
75+
func (ArmourTierCopper) KnockBackResistance() float64 { return 0 }
76+
func (ArmourTierCopper) EnchantmentValue() int { return 8 }
77+
func (ArmourTierCopper) Name() string { return "copper" }
78+
7079
// ArmourTierGold is the ArmourTier of gold armour.
7180
type ArmourTierGold struct{}
7281

@@ -114,7 +123,7 @@ func (ArmourTierNetherite) Name() string { return "netherite" }
114123

115124
// ArmourTiers returns a list of all armour tiers.
116125
func ArmourTiers() []ArmourTier {
117-
return []ArmourTier{ArmourTierLeather{}, ArmourTierGold{}, ArmourTierChain{}, ArmourTierIron{}, ArmourTierDiamond{}, ArmourTierNetherite{}}
126+
return []ArmourTier{ArmourTierLeather{}, ArmourTierCopper{}, ArmourTierGold{}, ArmourTierChain{}, ArmourTierIron{}, ArmourTierDiamond{}, ArmourTierNetherite{}}
118127
}
119128

120129
// armourTierRepairable returns true if the ArmourTier passed is repairable.
@@ -124,6 +133,8 @@ func armourTierRepairable(tier ArmourTier) func(Stack) bool {
124133
switch tier.(type) {
125134
case ArmourTierLeather:
126135
_, ok = stack.Item().(Leather)
136+
case ArmourTierCopper:
137+
_, ok = stack.Item().(CopperIngot)
127138
case ArmourTierGold:
128139
_, ok = stack.Item().(GoldIngot)
129140
case ArmourTierChain, ArmourTierIron:

server/item/axe.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ func (a Axe) SmeltInfo() SmeltInfo {
6363
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
6464
case ToolTierGold:
6565
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
66+
case ToolTierCopper:
67+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
6668
}
6769
return SmeltInfo{}
6870
}

server/item/boots.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ func (b Boots) SmeltInfo() SmeltInfo {
4040
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
4141
case ArmourTierGold:
4242
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
43+
case ArmourTierCopper:
44+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
4345
}
4446
return SmeltInfo{}
4547
}

server/item/chestplate.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ func (c Chestplate) SmeltInfo() SmeltInfo {
7070
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
7171
case ArmourTierGold:
7272
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
73+
case ArmourTierCopper:
74+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
7375
}
7476
return SmeltInfo{}
7577
}

server/item/copper_nugget.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package item
2+
3+
// CopperNugget is a piece of copper that can be obtained by smelting copper tools/weapons or armour.
4+
type CopperNugget struct{}
5+
6+
// EncodeItem ...
7+
func (CopperNugget) EncodeItem() (name string, meta int16) {
8+
return "minecraft:copper_nugget", 0
9+
}

server/item/helmet.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ func (h Helmet) SmeltInfo() SmeltInfo {
6868
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
6969
case ArmourTierGold:
7070
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
71+
case ArmourTierCopper:
72+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
7173
}
7274
return SmeltInfo{}
7375
}

server/item/hoe.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ func (h Hoe) SmeltInfo() SmeltInfo {
9090
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
9191
case ToolTierGold:
9292
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
93+
case ToolTierCopper:
94+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
9395
}
9496
return SmeltInfo{}
9597
}

server/item/leggings.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ func (l Leggings) SmeltInfo() SmeltInfo {
8282
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
8383
case ArmourTierGold:
8484
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
85+
case ArmourTierCopper:
86+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
8587
}
8688
return SmeltInfo{}
8789
}

server/item/pickaxe.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ func (p Pickaxe) SmeltInfo() SmeltInfo {
6666
return newOreSmeltInfo(NewStack(IronNugget{}, 1), 0.1)
6767
case ToolTierGold:
6868
return newOreSmeltInfo(NewStack(GoldNugget{}, 1), 0.1)
69+
case ToolTierCopper:
70+
return newOreSmeltInfo(NewStack(CopperNugget{}, 1), 0.1)
6971
}
7072
return SmeltInfo{}
7173
}

server/item/register.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ func init() {
4040
world.RegisterItem(Compass{})
4141
world.RegisterItem(Cookie{})
4242
world.RegisterItem(CopperIngot{})
43+
world.RegisterItem(CopperNugget{})
4344
world.RegisterItem(Crossbow{})
4445
world.RegisterItem(Diamond{})
4546
world.RegisterItem(DiscFragment{})

0 commit comments

Comments
 (0)