File tree Expand file tree Collapse file tree
paper-api/src/main/java/org/bukkit/entity
paper-generator/src/main/java/io/papermc/generator
paper-server/src/main/java/org/bukkit/craftbukkit/entity Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -25,6 +25,20 @@ public interface CopperGolem extends Golem, Shearable {
2525 */
2626 void setWeatheringState (WeatheringCopperState state );
2727
28+ /**
29+ * Get the current copper golem state of the copper golem.
30+ *
31+ * @return the copper golem state
32+ */
33+ CopperGolem .State getState ();
34+
35+ /**
36+ * Set the copper golem state of the copper golem.
37+ *
38+ * @param state the new copper golem state
39+ */
40+ void setState (CopperGolem .State state );
41+
2842 /**
2943 * Get the current oxidizing state of the copper golem.
3044 *
@@ -125,4 +139,15 @@ sealed interface AtTime extends Oxidizing permits AtTimeImpl {
125139 @ ApiStatus .Internal
126140 record AtTimeImpl (long time ) implements AtTime {}
127141 }
142+
143+ @ NullMarked
144+ enum State {
145+ // Start generate - CopperGolemState
146+ IDLE ,
147+ GETTING_ITEM ,
148+ GETTING_NO_ITEM ,
149+ DROPPING_ITEM ,
150+ DROPPING_NO_ITEM ;
151+ // End generate - CopperGolemState
152+ }
128153}
Original file line number Diff line number Diff line change 6666import org .bukkit .entity .Boat ;
6767import org .bukkit .entity .Cat ;
6868import org .bukkit .entity .Chicken ;
69+ import org .bukkit .entity .CopperGolem ;
6970import org .bukkit .entity .Cow ;
7071import org .bukkit .entity .EntityType ;
7172import org .bukkit .entity .Fox ;
@@ -142,6 +143,7 @@ protected EnumValue.Builder rewriteEnumValue(net.minecraft.world.entity.animal.p
142143 .register ("SoundCategory" , SoundCategory .class , new EnumCloneRewriter <>(SoundSource .class ))
143144 .register ("AttributeSentiment" , Attribute .Sentiment .class , new EnumCloneRewriter <>(net .minecraft .world .entity .ai .attributes .Attribute .Sentiment .class ))
144145 .register ("WeatheringCopperState" , WeatheringCopperState .class , new EnumCloneRewriter <>(WeatheringCopper .WeatherState .class ))
146+ .register ("CopperGolemState" , CopperGolem .State .class , new EnumCloneRewriter <>(net .minecraft .world .entity .animal .golem .CopperGolemState .class ))
145147 .register (ClientOption .class , composite (
146148 holder ("ChatVisibility" , ClientOption .ChatVisibility .class , new EnumCloneRewriter <>(ChatVisiblity .class ) {
147149 @ Override
Original file line number Diff line number Diff line change 33import com .google .common .base .Preconditions ;
44import io .papermc .paper .entity .PaperShearable ;
55import io .papermc .paper .world .WeatheringCopperState ;
6+ import net .minecraft .world .entity .animal .golem .CopperGolemState ;
67import net .minecraft .world .level .block .WeatheringCopper ;
78import org .bukkit .craftbukkit .CraftServer ;
89import org .bukkit .entity .CopperGolem ;
@@ -30,6 +31,17 @@ public void setWeatheringState(final WeatheringCopperState state) {
3031 this .getHandle ().setWeatherState (WeatheringCopper .WeatherState .valueOf (state .name ()));
3132 }
3233
34+ @ Override
35+ public CopperGolem .State getState () {
36+ return State .valueOf (this .getHandle ().getState ().name ());
37+ }
38+
39+ @ Override
40+ public void setState (final CopperGolem .State state ) {
41+ Preconditions .checkArgument (state != null , "state cannot be null" );
42+ this .getHandle ().setState (CopperGolemState .valueOf (state .name ()));
43+ }
44+
3345 @ Override
3446 public Oxidizing getOxidizing () {
3547 long value = this .getHandle ().nextWeatheringTick ;
You can’t perform that action at this time.
0 commit comments