Skip to content

Commit

Permalink
Removed obfuscated method from duck interface. (#5)
Browse files Browse the repository at this point in the history
  • Loading branch information
Estecka authored Sep 16, 2023
1 parent e4879ef commit 5735885
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 14 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ yarn_mappings=1.20.1+build.10
loader_version=0.14.22

# Mod Properties
mod_version=1.0.3
mod_version=1.0.4
maven_group=tk.estecka.shiftingwares
archives_base_name=shifting-wares

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,9 @@

import java.util.Optional;
import net.minecraft.item.ItemStack;
import net.minecraft.village.TradeOfferList;

public interface IVillagerEntityDuck
{
TradeOfferList getOffers();

Optional<ItemStack> GetCachedMap(String key);
void AddCachedMap(String key, ItemStack mapItem);
}
10 changes: 6 additions & 4 deletions src/main/java/tk/estecka/shiftingwares/MapTradesCache.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package tk.estecka.shiftingwares;

import java.util.Map;
import net.minecraft.entity.passive.VillagerEntity;
import net.minecraft.item.FilledMapItem;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
Expand All @@ -13,7 +14,8 @@ public class MapTradesCache
{
static public final String MAPID_CACHE = "shifting-wares:created_maps";

static public void FillCacheFromTrades(IVillagerEntityDuck villager){
static public void FillCacheFromTrades(VillagerEntity villager){
IVillagerEntityDuck villagerMixin = (IVillagerEntityDuck)villager;
TradeOfferList offers = villager.getOffers();
for (int i=0; i<offers.size(); ++i)
{
Expand All @@ -35,10 +37,10 @@ static public void FillCacheFromTrades(IVillagerEntityDuck villager){
nameKey = sellItem.getName().getString();
}

var oldItem = villager.GetCachedMap(nameKey);
var oldItem = villagerMixin.GetCachedMap(nameKey);
if (oldItem.isEmpty() || !ItemStack.areEqual(sellItem, oldItem.get())){
ShiftingWares.LOGGER.warn("Caught a map trade that wasn't properly cached: #{} @ {}", FilledMapItem.getMapId(sellItem), villager);
villager.AddCachedMap(nameKey, sellItem);
ShiftingWares.LOGGER.warn("Caught a map trade that wasn't properly cached: #{} @ {}", FilledMapItem.getMapId(sellItem), villagerMixin);
villagerMixin.AddCachedMap(nameKey, sellItem);
}
}
}
Expand Down
6 changes: 2 additions & 4 deletions src/main/java/tk/estecka/shiftingwares/TradeShuffler.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
public class TradeShuffler
{
private final VillagerEntity villager;
private final IVillagerEntityDuck duck;
private final boolean depletedOnly;

private final VillagerProfession job;
Expand All @@ -27,7 +26,6 @@ public class TradeShuffler
public TradeShuffler(VillagerEntity villager, boolean depletedOnly)
{
this.villager = villager;
this.duck = (IVillagerEntityDuck)villager;
this.depletedOnly = depletedOnly;

this.offers = villager.getOffers();
Expand All @@ -43,7 +41,7 @@ public void Reroll(){
return;
}

MapTradesCache.FillCacheFromTrades(duck);
MapTradesCache.FillCacheFromTrades(villager);
int tradeIndex = 0;
for (int tradeLvl=VillagerData.MIN_LEVEL; tradeLvl<=jobLevel; ++tradeLvl)
{
Expand All @@ -63,7 +61,7 @@ public void Reroll(){
offers.set(tradeIndex, rerollMap[n]);
}
}
MapTradesCache.FillCacheFromTrades(duck);
MapTradesCache.FillCacheFromTrades(villager);
}

public boolean shouldReroll(int tradeIndex){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,14 +115,14 @@ private boolean RestockDepletedOnly(TradeOffer offer){

@Inject ( method="writeCustomDataToNbt", at=@At("TAIL"))
void WriteCachedMapsToNbt(NbtCompound nbt, CallbackInfo info){
MapTradesCache.FillCacheFromTrades(this);
MapTradesCache.FillCacheFromTrades(villager);
MapTradesCache.WriteMapCacheToNbt(nbt, this.createdMaps);
}

@Inject ( method="readCustomDataFromNbt", at=@At("TAIL"))
void ReadCachedMapsFromNbt(NbtCompound nbt, CallbackInfo info){
MapTradesCache.ReadMapCacheFromNbt(nbt, this.createdMaps);
MapTradesCache.FillCacheFromTrades(this);
MapTradesCache.FillCacheFromTrades(villager);
}

}

0 comments on commit 5735885

Please sign in to comment.